Вопрос № 44640: Привет экспертам .
Вопрос:
Как hex перевести в ascii ?
Желательно по проше .
.Вопрос № 44647: Добрый день, уважаемые! Подскажите, как отслеживать изменения файловой системы? В моей программе две файловые панели, как в TotalCommander. Допустм у меня запущена эта программа и Виндовый проводник. Я удаляю файл в проводнике и в моей программе тоже...Вопрос № 44664: delphi 7 программа перевода из двоичного числа в десятичное.
Немогу написать. помогите пожалуйста....Вопрос № 44666: Здравствуйте уважаемые эксперты. Я самый начинающий программист на Delphi. Имеется Delphi 2006.
Прочитал о платформе .NET и ее достоинствах перед Win32. Все чюдесно. Но вот что меня интересует: те компоненты, которые выложены в Интернете отличают...Вопрос № 44705: Здравствуйте уважаемые эксперты.
У меня возникла вот такая проблема - необходимо заменить чёрный цвет на синий в рисунке отображаемом компонентом Image
и еще заменить два рядом стоящих пиксела белого цвета на жёлтые
Нашел несколько...
Вопрос № 44.640
Привет экспертам .
Вопрос:
Как hex перевести в ascii ?
Желательно по проше .
Отвечает: Shcherbakov Anton
Здравствуйте, Tamashev Denis M!
как вариант немного неудобный, но имеет право на существование:
создаёте 2 массива. 1 содержит hex обозначение буквы а второй то что долно получиться на выходе, что то типа таблицы соответсвия.
а дальше побуквенно берёте hex символ и замеяете его ascii представлением
удачи в этом нелёгком деле.
Ответ отправил: Shcherbakov Anton (статус: 2-ой класс)
Ответ отправлен: 30.05.2006, 08:03 Оценка за ответ: 5 Комментарий оценки: Тема незакрыта ! Я уже сообразил но мне нужна помошь !
Отвечает: Boriss
Здравствуйте, Tamashev Denis M!
Посмотрите в книге Зубкова (действительно, бестселлер до сих пор!!) описание DAS
В приложении цитата
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: факультет Электронной техники, Мордовский госуниверситет Адрес: г. Саранск WWW:Программирование на Паскале ---- Ответ отправлен: 30.05.2006, 11:57 Оценка за ответ: 5 Комментарий оценки: Ничего непонял ! Но посмотрю !
Вопрос № 44.647
Добрый день, уважаемые! Подскажите, как отслеживать изменения файловой системы? В моей программе две файловые панели, как в TotalCommander. Допустм у меня запущена эта программа и Виндовый проводник. Я удаляю файл в проводнике и в моей программе тоже удаляется соответствующая строка. Конечно можно по событию OnActivate снова перечитывать содержимое диска, но это не очень хороший выход. Заранее благодарю!
Отвечает: Проходящий Мимо
Здравствуйте, Савенко Вадим Иванович!
На закладке Samples палитры Delphi есть компонент ShellChangeNotifier. Он предназначен для отслеживания изменений файловой системы. Может реагировать на следующие события:
nfFileNameChange
nfDirNameChange
nfAttributeChange
nfSizeChange
nfWriteChange
nfSecurityChange
Папку, в которой отслеживает изменения, можна задать в свойстве root.
WatchSubTree указывает, нужно отслеживать только конкретную папку, заданную в root или все дерево каталогов, начиная с root.
Удачи!
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 4-ый класс)
Ответ отправлен: 30.05.2006, 08:58 Оценка за ответ: 5 Комментарий оценки: Спасибо! Все работает замечательно!
Вопрос № 44.664
delphi 7 программа перевода из двоичного числа в десятичное.
Немогу написать. помогите пожалуйста.
Отвечает: Решетник Д
Здравствуйте, Роман Сергеeвич Магнитский!
function BToI(Value: string): LongInt;
var
i, Size: Integer;
begin
Result := 0;
Size := Length(Value);
for i := Size downto 0 do
begin
if Value[i] = '1' then
begin
Result := Result + (1 shl i);
end;
end;
end;
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 7-ой класс)
Ответ отправлен: 30.05.2006, 12:20
Отвечает: Coupler
Здравствуйте, Роман Сергеeвич Магнитский!
Посмотри статьи на delphiworld.narod.ru - "преобразование двоичного числа в десятичное", там есть 3 способа.
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 30.05.2006, 15:20
Отвечает: Gh0stik
Здравствуйте, Роман Сергеeвич Магнитский!
Вот процедурка которую я когда-то писал (для студентов физ-мата).
Она переводит число из системы исчисления Х в систему исчисления Y.
Удачи!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаються события на земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: 10-ый класс)
Ответ отправлен: 31.05.2006, 11:24
Вопрос № 44.666
Здравствуйте уважаемые эксперты. Я самый начинающий программист на Delphi. Имеется Delphi 2006.
Прочитал о платформе .NET и ее достоинствах перед Win32. Все чюдесно. Но вот что меня интересует: те компоненты, которые выложены в Интернете отличаются для .NET и Win32?
Если я все же начну программировать сразу на .NET, то не получится, что долгое время я буду ограничен только компонентами программы Delphi 2006? (я уже читал у вас, что мало компонентов для Delphi 2005-2006, но исходим из того, что они есть)
Заранее благодарен.
Отправлен: 30.05.2006, 12:47
Вопрос задал: Denver 22 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Савенко Вадим Иванович
Здравствуйте, Denver 22!
На мой взгляд учиться программировать лучше на Win32. Платформа .NET ориентирована на сеть,
а Вам , наверное, это пока не надо.А компонентов для D2005 навалом.Если хотите - поделюсь :) Хотя это не избавит Вас от самого процесса программирования :)
Ответ отправил: Савенко Вадим Иванович (статус: 1-ый класс)
Ответ отправлен: 30.05.2006, 16:34
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Denver 22!
В первый раз слышу, чтобы платформа .NET была ориентирована под сеть.
Вообще, если вы только-только начинаете программировать, то начинайте сразу на C# - там просто огромнейшая библиотека классов на .NET А вообще, не всегда бывают нужны чужие компоненты.
Отвечает: sir henry
Здравствуйте, Denver 22!
Если Вы только начинаете программировать, то Вам совершенно все равно с чего начинать - сразу с NET или с Win32. Плаиформа NET - это некая попытка стандартизировать классы, с которыми общается Windows-программист, поскольку раньше у каждого языка были свои наборы классов: у VC - MFC, у Delphi - VCL и т.п. Дело по стандаотизации безусловно нужное, но добавляет хлопот тем, что на каждом компьютере, где Вы собираетесь ставить NET-программу, должен быть набор библиотек, стандаотых классов для NET (netframework),
а вот это уже слегка напрягает. Framework 2.0 весит уже 22 МБ (инсталляшка). В то время как программа написаная под Win32 пользуется исключительно теми библиотеками (естественно в стандартном варианте), которые уже есть в любой винде.
Решайте сами. Преимущества NET - стандартные классы (Delphi, C++, C#). Недостатки - дополнительный кусок жира в виде FraneWork.
Преимущества Win32 - самобостаточность бинарника. Недостатки - для каждого языка программирования свой набор классов.
А на счет компонентов, я думаю волноваться не стоит. Начинайте с тех, которые уже есть в Delphi, а пополнятся они будут постоянно. Заходите на www.torry.net в раздел NET. Там большая помойка компонентов.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 31.05.2006, 09:47 Оценка за ответ: 5 Комментарий оценки: sir henry, большое спасибо. Именно ТАКОЙ ответ мне и нужен был.
Вопрос № 44.705
Здравствуйте уважаемые эксперты.
У меня возникла вот такая проблема - необходимо заменить чёрный цвет на синий в рисунке отображаемом компонентом Image
и еще заменить два рядом стоящих пиксела белого цвета на жёлтые
Нашел несколько вариантов в интернете - к сожалению ничего подходящего не оказалось
Отправлен: 30.05.2006, 20:15
Вопрос задал: source (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Головченко Алексей
Здравствуйте, source!
Насколько я понимаю, то вам следует использовать Маски в компоненте TImage.
--------- Правильно заданный вопрос - половина ответа!
Ответ отправил: Головченко Алексей (статус: 2-ой класс)
Ответ отправлен: 30.05.2006, 20:32
Отвечает: Ерёмин Андрей
Здравствуйте, source!
Замена цветов делается посредством Canvas. Пример замены чёрного цвета на синий см. ниже. Естественно, сам файл, из которого загружено изображение, при этом не изменяется. С заменой рядом стоящих пикселов поступать точно также, только делать проверку на две точки и изменять цвет обеих точек.
procedure TForm1.Button1Click(Sender: TObject); var X,Y: Integer; begin for X:=0 to Image1.Picture.Width-1 do for Y:=0 to Image1.Picture.Height-1 do begin if Image1.Canvas.Pixels[X,Y] = clBlack then Image1.Canvas.Pixels[X,Y] := clBlue; end; end;
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Злоумышленник
Здравствуйте, source!
Если в Image загружен *.bmp, то перебираете пиксели в цикле по x, y в свойстве Image1.Picture.Bitmap.Canvas:
if Image1.Picture.Bitmap.Canvas.Pixels[x,y] = clBlack then
Image1.Picture.Bitmap.Canvas.Pixels[x,y] := clBlue;
Но так долго. Быстрее получается при работе с памятью Image'а напрямую, я написал пример в приложении, меняет "чёрный цвет на синий в рисунке отображаемом компонентом Image".
********************************
Если в Image загружен не растровый формат, *jpg например, потребуется сначела перегнать в BMP:
...
var
bm: TBitmap;
...
bm.Assign(Image1.Picture.Graphic);
Image1.Picture.Bitmap.Assign(bm);
а потом можно пробовать вышеприведённый рецепт.
"и еще заменить два рядом стоящих пиксела белого цвета на жёлтые" - это сами сможете.
Желаю Вам успеха!
Приложение:
Ответ отправил: Злоумышленник (статус: 8-ой класс)
Ответ отправлен: 30.05.2006, 23:13 Оценка за ответ: 5