Вопрос № 100749: Здравствуйте Уважаемые!Существуют различные варианты сообщений со значками!Приведите пожалуйста мне примеры:
Exception.Create('.....'); - значок: красный кружок с белым крестом
ShowMessage('.....'); - сообщение без значка
и т.д...Вопрос № 100803: написал два маненьких класса наследником от TCustomControl
Программно помещаю один компонент внутрь другого.(создаю поле в дном из классов)
При рнедактировании на форме внутреннего компонента (изменении длины ширины и тд) изменения отобража...Вопрос № 100805: Здравствуйте, уважаемые эксперты! Начал изучать Делфи, подскажите пожалуйста где можно скачать словарь терминов или учебник для начинающих. Заранее спасибо....Вопрос № 100818: Привет всем!
Есть такая ситуация:
необходимо перехватывать записываемые на диск файлы и, например, шифровать их.
Если есть идеи, пожалуйста поделитесь, заранее большое спасибо!
...Вопрос № 100825: Привет! Снова я! Думаю я уже надоел, но есть еще вопросик...
Кто-н. знает как определить имя последнего сохраненного файла в директории?
Заранее благодарен за ответ!
..Вопрос № 100847: Уважаемые эксперты
как узнать расположение курсора мыши относительно данного компонента ?...
Вопрос № 100.749
Здравствуйте Уважаемые!Существуют различные варианты сообщений со значками!Приведите пожалуйста мне примеры:
Exception.Create('.....'); - значок: красный кружок с белым крестом
ShowMessage('.....'); - сообщение без значка
и т.д
Отвечает: Кулаков Антон Сергеевич /SandroNec
Здравствуйте, Зотов Геннадий Александрович!
Самый простой способ работы с сообщениями (и различными значками в них) показывает в своей программе Dimon Karra вот ссылка на нее: http://slil.ru/24812341
так же оттуда можно взять код сообщения.
--------- Настоящий программист на вопрос - "можешь ли ты это сделать", всегда ответит - "да", а потом подумает как
Ответ отправил: Кулаков Антон Сергеевич /SandroNec (статус: 4-ый класс)
Ответ отправлен: 04.09.2007, 06:53 Оценка за ответ: 5 Комментарий оценки: Спасибо большое за ссылку и быстрый ответ
Отвечает: Omickron
Здравствуйте, Зотов Геннадий Александрович!
Я последнее время люблю использовать функцию MessageBox. В ней можно задавать и заголовок, и текст, и значок, а главное - кнопки с рускими надписями.
Ну ещё есть MessageDlg функция. Но кнопки там с латинскими символами.
Ответ отправил: Omickron (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 07:03 Оценка за ответ: 3 Комментарий оценки: Спасибо с функциями понятно ещё бы примеров бы немного
Отвечает: Shurka
Здравствуйте, Зотов Геннадий Александрович!
Можно воспользоваться WinAPI функцией MessageBox. Указав подходящие параметры, можно показать сообщение с любым значком доступным в Windows. Чтобы сообщение показывалось над формой первый ее параметр должен быть Form.Handle
Ответ отправил: Shurka (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 15:07 Оценка за ответ: 4 Комментарий оценки: Спасибо уже подсказали
Вопрос № 100.803
написал два маненьких класса наследником от TCustomControl
Программно помещаю один компонент внутрь другого.(создаю поле в дном из классов)
При рнедактировании на форме внутреннего компонента (изменении длины ширины и тд) изменения отображаются адекватно, а при запуске программы происходит возврат а начальное состояние(как будто редактирование и не происходило)...
Отвечает: Shurka
Приветствия!
Дело в том, что при создании компонента на форме (т.е когда программа уже работает) происходит вызов конструктора внешнего объекта, а он уже должен вызвать конструктор внутреннего объекта. Механизм же передачи параметров, настроенных во время дизайна, во внутренний объект не действует. Остается только программно устанавливать нужные размеры внутреннего компонента в конструкторе родительского объекта или где нибудь еще.
Ответ отправил: Shurka (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 15:08
Вопрос № 100.805
Здравствуйте, уважаемые эксперты! Начал изучать Делфи, подскажите пожалуйста где можно скачать словарь терминов или учебник для начинающих. Заранее спасибо.
Отправлен: 04.09.2007, 14:44
Вопрос задал: Александр. (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Delph
Здравствуйте, Александр.!
Думаю, словарь терминов Вы найдёте в большинстве книг по Delphi. Зарегистрируйтесь на сайте www.librus.ru - я накачал оттуда немало интересных книг, в том числе и по Delphi. Вот ещё ссылки, но уже на другие ресурсы:
http://c-books.info/books/load.php?ty=delphi&lng=RU
http://www.delphikingdom.ru/
--------- Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: 8-ой класс)
Ответ отправлен: 04.09.2007, 15:42
Вопрос № 100.818
Привет всем!
Есть такая ситуация:
необходимо перехватывать записываемые на диск файлы и, например, шифровать их.
Если есть идеи, пожалуйста поделитесь, заранее большое спасибо!
Отвечает: Shurka
Здравствуйте, Бакалов Артем Маркович!
Единственный способ это сделать, который мне приходит в голову - написать свой драйвер файловой системы.
Ответ отправил: Shurka (статус: 3-ий класс)
Ответ отправлен: 05.09.2007, 06:08
Отвечает: Дмитрий С.
Здравствуйте, Бакалов Артем Маркович!
я как-то сталкивался с проблемой шифрования (маскировки) данных. Дело было с текстовыми файлами. Я делал следующее - перебирал весь текст файла посимвольно и каждый символ презаписывал в уже типизированный файл следующим образом:
write(File_X, Ord(simvol)); // var file_x: file of integer;
а если нужно было перевести всё в божеский вид проделывал обратную операцию:
write(File_Y, Chr(simvol)); // var file_y: text;
Приложение:
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 3-ий класс)
Ответ отправлен: 05.09.2007, 13:35 Оценка за ответ: 4 Комментарий оценки: Спасибо! Для шифрации я использую UnitIDEA.pas, а вот как переписать именно записываемый файл на свой - вот основной вопос!
Вопрос № 100.825
Привет! Снова я! Думаю я уже надоел, но есть еще вопросик...
Кто-н. знает как определить имя последнего сохраненного файла в директории?
Заранее благодарен за ответ!
Есть такой способ:
при помощи функций FindFirst, FindNext, FindClose организуем перебор всех файлов в директории.
Далее, определяем в свойствах каждого файла время его изменения (как точно это сделать, я не помню, но можно поискать в сети на форумах; наверняка информация будет).
Тот файл, который был изменён позже всех (у кого дата изменения самая большая) - и есть последний сохранённый файл в директории.
Удачи.
Ответ отправил: Omickron (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 18:34
Отвечает: sir henry
Здравствуйте, Бакалов Артем Маркович!
Добавлю немного конкретики. :)
Термин "сохранён" неоднозначен. Он может быть последним создан и записан на диск, а может быть и сохранено изменения содержимого. Эа это отвечают разные атрибуты записи TSearchRec функций FindFirstFindNext. Причем запрятаны они довольно глубоко.
В этом отношении более удобна функции WinAPI FindFirstFileFindNextFile, которые информацию о найденом файле заносят в структуру WIN32_FIND_DATA, поля которой (в контексте вопроса) такие:
- ftCreationTime - время создания файла;
- ftLastAccessTime - время, когда последний раз файл открывали;
- ftLastWriteTime - время, когда была произведена последняя запись.
Пример:
Var
fd: ^WIN32_FIND_DATA;
List: TList;
i: integer;
fname: string; //Здесь будет имя последнего сохраненного файла
Begin
List:=TList.Create;
...
//Сначала ищем первый файл по маске
New(fd);
If FindFirstFile('c:Windows*.ini', fd^)<> INVALID_HANDLE_VALUE Then
//Теперь идем циклом по каталогу
Repeat
List.Add(fd);
New(fd);
Until not FindNextFile('c:Windows*.ini', fd^);
If List.Count>1 Then
For i:=1 To List.Count-1 Do
//Сравниваем два времени файлов
If CompareFileTime(WIN32_FIND_DATA(List.Items[i-1]).ftLastWriteTime, WIN32_FIND_DATA(List.Items[i]).ftLastWriteTime)=-1 Then
fname:=WIN32_FIND_DATA(List.Items[i-1]).cFileName
Else
fname:=WIN32_FIND_DATA(List.Items[i]).cFileName;
...
End;
Это только пример, но думаю идея понятна.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 04.09.2007, 19:29 Оценка за ответ: 5 Комментарий оценки: Спасибо огромное за ответ, начну его пробовать.
Вопрос № 100.847
Уважаемые эксперты
как узнать расположение курсора мыши относительно данного компонента ?
Отправлен: 04.09.2007, 21:27
Вопрос задал: Кэр Лаэда (статус: Студент)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Виктор Пырлик
Здравствуйте, Кэр Лаэда!
Использовать событие OnMouseMove
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label4.Caption := Format('X = %d Y = %d',[X,Y]);
end;
Данный обработчик я назначил всем визуальным компонентам что были на форме (кнопки, панели,список, мемо...).
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 04.09.2007, 21:45 Оценка за ответ: 4 Комментарий оценки: не совсем то что я хотел, так как мне нужно узнать расположение мыши из другого юнита, так что события тут не подходят нужно нечто вроди Mouse.CursorPos.X но это даются координаты экранные а мне нужны относительно компонента.
Отвечает: Omickron
Здравствуйте, Кэр Лаэда!
Функция GetCursorPos возвращает экранные координаты курсора. Далее мы знаем экранные координаты формы (свойства Left и Top), затем мы знаем координаты компонента в клиентских координатах формы. Остаётся только ширина боковых границ формы и высота заголовка формы, но это постоянные величины (к сожалению, я не помню их).
Ответ отправил: Omickron (статус: 3-ий класс)
Ответ отправлен: 04.09.2007, 22:39 Оценка за ответ: 4 Комментарий оценки: почти то что нужно.. но не совсем
Отвечает: PGM
Здравствуйте, Кэр Лаэда!
1. GetCursorPos(p) - получаем экранные координаты;
2. потом p := Component.ScreenToClient(p) - координаты относительно компонента.
Ответ отправил: PGM (статус: 9-ый класс)
Ответ отправлен: 05.09.2007, 09:16 Оценка за ответ: 5 Комментарий оценки: Спасибо то что нужно
Отвечает: Дмитрий С.
Здравствуйте, Кэр Лаэда!
чтобы узнать положение мыши на форме, советую добавить в код программы следующее:
в событие OnMouseMove Вашей формы добавить строку
Теперь на заголовке формы будут отображаться координаты положения указателя мыши
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 3-ий класс)
Ответ отправлен: 05.09.2007, 13:29 Оценка за ответ: 1 Комментарий оценки: во первых не то что мне нужно, во вторых ответ повторный