RusFAQ.ru: Программирование на Delphi
/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi
Выпуск № 329
от 19.12.2005, 19:12
Администратор: | Калашников О.А. |
В рассылке: | Подписчиков: 239, Экспертов: 52 |
В номере: | Вопросов: 11, Ответов: 42 |
Вопрос № 31407: Здраствуйте эксперты. у меня таой вопрос. Я хочу прочитывая данные с икселевкого файла копирывать в свою БД.Это я сделал, но вот теперь то, что мне очень нужно. Я хочу если такой элемент в моей БД есть то его не копировать или если бы...
Вопрос № 31418: Доброе время суток посоветуйте плиз какую книгу(в эл-ом виде) можно почитать по Делфи5 человеку который вообще в этом полнейший чайник...
Вопрос № 31435: Ув Эксперты! У меня проблема уже какую неделю ломаю голову помогите мнне пожадуйста. мне нужно от 1 до 10 беспорядочно раскидать числа с randomize не получается числа повторяются помогите хелп с/у Ера заранее благодарен....
Вопрос № 31451: Кто знает как писать на ассемблере в Delphi? Кто может показать пример? Кто знает в каких книгах искать на эту тему? ...
Вопрос № 31454: Здравствуйте уважаемые эксперты. Вопрос о сообщениях Windows: TForm1 = class(TForm) procedure ReceiveMessage (var Msg: TMessage); message WM_DEVICECHANGE; {что значит message WM_DEVICECHANGE после объявления процедуры?} ... ...
Вопрос № 31466: Здравствуйте, эксперты! Пушу на С++, но вот подкинули кое что и на Делфи... Вопрос: можно объявить переменную с начальным значением? Например на С это так - int i(100); double fl(15.354); и т.д. Т.е. чтобы не перепри...
Вопрос № 31481: Подскажите метод ипользования сканера документов, желательно через локальную сеть....
Вопрос № 31484: Здравствуйте, вопрос такой, создаю Com-объект (объект автоматизации), как мне переопределить конструктор. Пробовала просто переопределить Create (без параметров), но проблема в том, что он не вызывается при создании этого объекта в клиентском приложе...
Вопрос № 31485: Можно ли библиотеку dll использовать как хранилище паролей, которое может постоянное меняться? Если да, то привелите, пожалуйста, работающий пример, а то я пыталься что-то сделать, и ничего не работает. Заранее спасибо....
Вопрос № 31486: Можно ли библиотеку dll использовать как хранилище паролей, которое может постоянное меняться? Если да, то привелите, пожалуйста, работающий пример, а то я пыталс я что-то сделать, и ничего не работает. Заранее спасибо....
Вопрос № 31487: Еще раз, здравствуйте! Вот такой вопрос: Нужен CList! Есть ли подобная штука в Делфи? Чтобы можно было добавить в голову элемент, в хвост элемент, убрать из головы / хвоста элемент... а навигация была как в массиве, так же ну...
Вопрос № 31.407 |
Здраствуйте эксперты. у меня таой вопрос. Я хочу прочитывая данные с икселевкого файла копирывать в свою БД.Это я сделал, но вот теперь то, что мне очень нужно. Я хочу если такой элемент в моей БД есть то его не копировать или если была задан параметр, сообщавший если такой такой элемент есть,то значение (например количество запчестей от поршня) прибавить к уже существующему значению. ---- Для пояснения. Моя программа оперирует с БД запчестей. Я её уже на большую половину закончил и теперь мне надо присабачить функцию,которая при копирования названий запчастей и количества этих запчастей не заменяла существующий уже такой элемент в моей БД, а прибавляла количество этих запчастей к уже существующему количество элементов в моей БД. Заранее спасибо. |
Отправлен: 13.12.2005, 19:14 Вопрос задал: newinfo2005 (статус: 5-ый класс) Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1) |
Отвечает: Архангельский Андрей Германович Здравствуйте, newinfo2005! Вариантов два: 1) Перед вставкой КАЖДОЙ записи сделать запрос на ее наличие, и если такая есть то сделать update, в противном случае вставку. 2) Сделать временную таблицу, переписать туда существующую и дописать новую После чего сделать запрос группирующий записи по названию деталей и суммирующий по количеству. Результат запроса положить в основную таблицу Есть конечно и другие способы, но нужна более подробная информация |
Ответ отправил: Архангельский Андрей Германович (статус: Студент) Отправлен: 13.12.2005, 20:11 |
Отвечает: sir henry Здравствуйте, newinfo2005! Вам нужен для этого столбец, в котором хранится уникальный идентификатор этой запчасти. Причем как в Вашей БД, так и в экселевском файле. Для каждой записи Вы считываете идентификатор, потом ищете его в БД. Если идентификатор найден, плюсуете количество к тому, которое уже есть, если не найден, то просто добавляете строуку в БД с этим идентификатором и количеством. |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 05:06 |
Вопрос № 31.418 |
Доброе время суток посоветуйте плиз какую книгу(в эл-ом виде) можно почитать по Делфи5 человеку который вообще в этом полнейший чайник |
Отправлен: 13.12.2005, 22:51 Вопрос задал: Sexy (статус: Посетитель) Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 0) |
Отвечает: nimoid Здравствуйте, Sexy! Ну чайники тоже бывают разные - кто-то легко одного автора воспримет и поймет сразу, кто-то нифига непоймет. 1. Библия делфи 2. Делфи 6 для чайников 3. Делфи быстрый старт Ищи в интернете через поисковики - книг вообще навалом. Ну если уж не найдешь, могу выложить в инет - пиши на мыл если что. --------- Перед тем как задать вопрос, поищи сначала сам ответ. Яндекс в руки и в перед... ) |
Ответ отправил: nimoid (статус: 6-ой класс) Отправлен: 13.12.2005, 23:49 |
Отвечает: Denisss Здравствуйте, Sexy! http://www.wmate.ru/ebooks/cat14/ - особенно рекомендую Delphi 5 - Руководство для разработчика (2 Тома + Если поискать по инету, то еще и примеры к этой книге можно найти) http://www.delphikingdom.com/library/ - тут ничего особо рекомендовать не буду, но есть неплохие книги для начинающих. http://www.ruhelp.org/pages/det.php?id=7&l=B - Delphi 7 для начинающих. Понимаю, что не 5-я версия, но для начинающих эти версии почти одинаковы. |
Ответ отправил: Denisss (статус: Специалист) Отправлен: 14.12.2005, 00:41 |
Отвечает: sir henry Здравствуйте, Sexy! Именно для Дельфи 5 я не знаю, а вообще по Дельфи пойдет "Иллюстрированный самоучитель по Delphi 7 для начинаюших". Эта книга валяется по всему инету, просто сделайте запрос в Яндексе или Гугле. Книжки по Дельфи были еще здесь: http://www.soobcha.ru/rushelp Правда не знаю, работает сейчас этот раздел или нет. Там периодически какие-то проблемы возникали. |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 05:12 |
Отвечает: Vbhjndjhtw Здравствуйте, Sexy! На этом сайте есть электронная книга http://www.everestcenter.ru/ebook.php - весит 1,2 мб. --------- Бороться и искать, найти и перепрятать! |
Ответ отправил: Vbhjndjhtw (статус: 7-ой класс) Отправлен: 14.12.2005, 06:55 |
Отвечает: Hdd Здравствуй, Sexя! Ко мне на мыло кинь свой майл: я те несколько хороших книжачек пришлю!!! ;) hdd27@yandex.ru |
Ответ отправил: Hdd (статус: 1-ый класс) Отправлен: 14.12.2005, 07:28 |
Вопрос № 31.435 |
Ув Эксперты! У меня проблема уже какую неделю ломаю голову помогите мнне пожадуйста. мне нужно от 1 до 10 беспорядочно раскидать числа с randomize не получается числа повторяются помогите хелп с/у Ера заранее благодарен. |
Отправлен: 14.12.2005, 10:16 Вопрос задал: ERA (статус: Посетитель) Всего ответов: 7 Мини-форум вопроса >>> (сообщений: 0) |
Отвечает: Boriss Здравствуйте, ERA! Немного не понятна причина затруднений: проще всего случайным образом ПЕРЕСТАВИТЬ элементы массива от 1 до 10. --------- Вывод - то место в тексте, где вы устали думать |
Ответ отправил: Boriss (статус: Профессор) Отправлен: 14.12.2005, 10:43 |
Отвечает: Zubex Здравствуйте, ERA! Надо просто проверять есть ли такое значение или нет и в зависимости от этого вставлять или нет. Пример в приложении. Положите на форму TMemo и TBitBtn, скопируйте код и посмотрите что получится. Удачи! Приложение: |
Ответ отправил: Zubex (статус: 3-ий класс) Отправлен: 14.12.2005, 10:46 Оценка за ответ: 5 Комментарий оценки: Спасибо, Эксперты Отлично работает |
Отвечает: sir henry Здравствуйте, ERA! Вам помочь голову сломать? Это мы запросто. :) Дело в том, что связка Randomize - Random, это генератор не случайных, а квазислучайных чисел. В компьютере вообще ничего случайного нет - голая логика и все. Мало того, случайные числа - это не тоже самое, что и НЕПОВТОРЯЮЩИЕСЯ. Пожалуйста. постарайтесь это понять. Если с генерацией все понятно и ее можно воспроизвести какой-то функцийей, то неповторяемость - это исключительно Ваша проблема. Поскольку с генерацией Вы уже разобрались, то осталось проверять, есть такое число или нету в списке. Допустим у Вас есть массив, куда Вы складываете числа. При генерации каждого числа, Вы просматриваете всеь массив, есть ли там уже такое-же число, если есть - генерируете заново в ту-же ячейку, если нет - генерируете следующую ячейку. Пример не изящный, а просто для иллюстрации. Приложение: |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 10:55 Оценка за ответ: 5 Комментарий оценки: Sir Henry, Огромное спасибо работает отлично точно нужно! |
Отвечает: Лучников Юрий Владимирович Здравствуйте, ERA! Создайте пустое множество, сгенерируйте число, запишите его, втолкните его в множество, далее генериоуйте следующее число, делайте проверку, есть ли оно в множестве (есть ли повтор), если нет, записывайте его, снова толкайте его в множество, иначе перебрасывайте, и т.д. |
Ответ отправил: Лучников Юрий Владимирович (статус: 4-ый класс) Отправлен: 14.12.2005, 12:11 |
Отвечает: Schmak Здравствуйте, ERA! Можно завести массив boolean такой же размерности и отмечать в нём использованные числа. В данном ниже примере True означает можно использовать, False - нельзя. Приложение: |
Ответ отправил: Schmak (статус: Студент) Отправлен: 14.12.2005, 14:29 |
Отвечает: Татьяна Здравствуйте, ERA! Это чистой воды перестановки, хотя вам уже дали вариант решения, хочу предлжить вам свой вариант, просто потому-что он у меня уже был и как мне кажется, более явно дает понять, что работаем мы именно с перестановками Приложение: |
Ответ отправила: Татьяна (статус: 10-ый класс) Отправлен: 14.12.2005, 16:00 |
Отвечает: Ерёмин Андрей Здравствуйте, ERA! Ну так первое, что напрашивается - перед записью числа в массив проверять, есть-ли уже такое число в массиве... Вот исходник. Создаётся массив из 10 элементов и в него забрасываются числа от 1 до 10 случайным образом. Затем всё выводится в Memo. procedure TForm1.Button1Click(Sender: TObject); Var A: Array[1..10] Of Integer; I,J,T: Integer; S: Boolean; Label 1; begin Randomize; For I:=1 To 10 Do A[I]:=-1; For I:=1 To 10 Do Begin 1: T:=Random(11); S:=True; For J:=1 To I-1 Do If A[J] = T Then S:=False; If S = True Then A[I]:=T Else GoTo 1; End; For I:=1 To 10 Do Memo1.Lines.Add(IntToStr(A[I])); end; --------- В то время как остальные процессоры уже закончили работу, процессоры VIA продолжают работать, работать и работать! :)) |
Ответ отправил: Ерёмин Андрей (статус: Специалист) Отправлен: 14.12.2005, 17:35 |
Вопрос № 31.451 |
Кто знает как писать на ассемблере в Delphi? Кто может показать пример? Кто знает в каких книгах искать на эту тему? |
Отправлен: 14.12.2005, 12:37 Вопрос задал: Mehanik (статус: Посетитель) Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 1) |
Отвечает: sir henry Здравствуйте, Mehanik! Если честно, я в книгах не видел, чтобы излагали как писать в Дельфи на ассемблере. Попадались только статьи на www/ delphimaster.ru или www.delphikingdom.com, точно не помню. Если говорить в общем, то ассемблерная вставка начинается служебным словом asm, а заканчиваеися end. Между ними пишутся обычные ассемблерные комманды, тут можно любым учебником по ассемблеру пользоваться. |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 13:07 |
Отвечает: Vbhjndjhtw Здравствуйте, Mehanik! Кинь мне письмо на rdo04@bk.ru Я тебе вышлю файлик . --------- Бороться и искать, найти и перепрятать! |
Ответ отправил: Vbhjndjhtw (статус: 7-ой класс) Отправлен: 14.12.2005, 13:10 Оценка за ответ: 5 |
Отвечает: nimoid Здравствуйте, Mehanik! Есть в наличии: 1. Использование ассемблера в Дельфи (© Guido Gybels, January-February 2001. © Anatoly Podgoretskys, 2002, Authorized Russian Translation.) 2. BASM Уроки для начинающих (© Dennis Chistensen, 2003. © Anatoly Podgoretsky, 2003, Russian translations Если надо, пиши на мыл - скину или выложу в инет (в архиве около 200 кб). --------- Перед тем как задать вопрос, поищи сначала сам ответ. Яндекс в руки и в перед... ) |
Ответ отправил: nimoid (статус: 6-ой класс) Отправлен: 14.12.2005, 15:23 Оценка за ответ: 5 |
Отвечает: REFERI Здравствуйте, Mehanik! Могу скинуть мануал под названием "Использование ассемблера в Delphi" Вес - 54 кб в архиве... Если надо - пишите, вышлю... --------- Не судите, да не судимы будете... |
Ответ отправил: REFERI (статус: Студент) Отправлен: 14.12.2005, 15:44 Оценка за ответ: 4 |
Отвечает: Ерёмин Андрей Здравствуйте, Mehanik! Для Ассемблера в Delphi существует следующая конструкция: asm {код} end; Излагать команды, которые используются в Ассемблере, естественно, не буду, т.к. это другой разговор. В книгах по Delphi про это не пишут. Ассемблер - сложный язык и с Delphi он практически не связан. Пример - что именно вас интересует? --------- В то время как остальные процессоры уже закончили работу, процессоры VIA продолжают работать, работать и работать! :)) |
Ответ отправил: Ерёмин Андрей (статус: Специалист) Отправлен: 14.12.2005, 17:39 Оценка за ответ: 4 |
Вопрос № 31.454 |
Здравствуйте уважаемые эксперты. Вопрос о сообщениях Windows: TForm1 = class(TForm) procedure ReceiveMessage (var Msg: TMessage); message WM_DEVICECHANGE; {что значит message WM_DEVICECHANGE после объявления процедуры?} ... procedure TForm1.ReceiveMessage(var Msg: TMessage); begin if Msg.WParam=32772 then ShowMessage('CD-ROM Open'); if Msg.WParam=32768 then ShowMessage('CD-ROM Close'); end; {Как юзать эту процедуру?} |
Отправлен: 14.12.2005, 13:56 Вопрос задал: Teapot (статус: Посетитель) Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 3) |
Отвечает: Samum Здравствуйте, Teapot! message WM_DEVICECHANGE означает, что форма будет обрабатывать сообщение windows WM_DEVICECHANGE в процедуре ReceiveMessage. Само сообщение указывает приложению (или драйверу устройства) на то, что произошло изменение в аппаратной части машины. Конкретное событие описавается в параметрах сообщения - в данном случае процедура проверяет изменение положения лотка CD привода. --------- Если бы программистам за их ошибки отрывали части тела, то в конце концов им пришлось бы использовать голову! |
Ответ отправил: Samum (статус: Специалист) Отправлен: 14.12.2005, 15:21 Оценка за ответ: 5 |
Отвечает: sir henry Здравствуйте, Teapot! 1. Это значит, что форма обрабатывает сообщения к ней (WM_DEVICECHANGE) именно этой процедурой. 2. В эту процедуру посылается параметр, одно из полей TMsg (TMsg.WParam)/ Если параметр имеет значение 32772, то Выдается сообщение на экран CD-ROM Open, а если 32768, то сообщение CD-ROM Close. |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 16:35 Оценка за ответ: 5 |
Отвечает: Ерёмин Андрей Здравствуйте, Teapot! WM_XXXXXXXXXXX обозначает привязку процедуры к указанному сообщению Windows. Как только сообщение будет получено программой, тут же управление будет передаваться процедуре. Ловить можно любые события. Остальное - дело техники. --------- В то время как остальные процессоры уже закончили работу, процессоры VIA продолжают работать, работать и работать! :)) |
Ответ отправил: Ерёмин Андрей (статус: Специалист) Отправлен: 14.12.2005, 17:41 |
Отвечает: Ataman N. N. Здравствуйте, Teapot! WM_DEVICECHANGE - сообщение посылаемое системой при изменении состояния устройств. В данной процедуре отлавливается открытие и закрытие CD-ROM-а. |
Ответ отправил: Ataman N. N. (статус: 4-ый класс) Отправлен: 14.12.2005, 19:30 |
Вопрос № 31.466 |
Здравствуйте, эксперты! Пушу на С++, но вот подкинули кое что и на Делфи... Вопрос: можно объявить переменную с начальным значением? Например на С это так - int i(100); double fl(15.354); и т.д. Т.е. чтобы не переприсваивать её уже в теле... |
Отправлен: 14.12.2005, 15:23 Вопрос задал: Zitz (статус: 2-ой класс) Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 2) |
Отвечает: nimoid Здравствуйте, Zitz! На сколько я знаю, то такое возможно только для глобальных переменных. Пример: var str: string = 'строка'; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(str); end; --------- Перед тем как задать вопрос, поищи сначала сам ответ. Яндекс в руки и в перед... ) |
Ответ отправил: nimoid (статус: 6-ой класс) Отправлен: 14.12.2005, 15:34 Оценка за ответ: 5 |
Отвечает: Bochvarov NikB Здравствуйте, Zitz! const a: integer = 200; b: single = 3.1415926; begin b:=b+a; inc(a,4); end; НО и локалние и глобалние переменни - место в памят одно и тоже (если нсколко екземпляров одного обекта, все они ползуют одной переменной - сделай свой пример и увидиш:) procedure tObjMy.Bababa; const a: integer = 5; begin a:=a+3; end; ... x:= tObjMy.Create; x.Bababa; y:= tObjMy.Create; y.Bababa; ... |
Ответ отправил: Bochvarov NikB (статус: 4-ый класс) Отправлен: 14.12.2005, 15:43 Оценка за ответ: 5 |
Отвечает: REFERI Здравствуйте, Zitz! Делать это можно только с глобальными переменными. Глобальные переменные можно инициализировать в их объявлениях, например, var i: integer = 7; fl: double = 3*34/3.14; Локальные переменные инициализировать нельзя. Удачи в кодинге! --------- Не судите, да не судимы будете... |
Ответ отправил: REFERI (статус: Студент) Отправлен: 14.12.2005, 15:58 Оценка за ответ: 5 |
Отвечает: sir henry Здравствуйте, Zitz! Можно, только немного по другому: Var i: integer = 100; fl: double = 15.354; А Дельфи какой версии? В некоторых это не работало и приходилось подобные штуки объявлять в разделе констант, но это все равно были переменные. :) |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 16:39 Оценка за ответ: 5 |
Отвечает: Denisss Здравствуйте, Zitz! 1. Можно присваивать значение глобальным переменным: var 2. Можно также присваивать глобальным и локальным константам (постоянным), но обязятельно с указанием их типа: const В некоторых случаях это может не заработать, тогда надо выполнить следующие действия: 1. Зайти в меню "Project"-"Options" (Ctrl+Shift+F11); 2. Зайти на закладку "Compiler" 3. Поставить галочку напротив "Assignable typed constants", чтобы можно было использовать константы в качестве переменных. |
Ответ отправил: Denisss (статус: Специалист) Отправлен: 15.12.2005, 16:16 |
Вопрос № 31.481 |
Подскажите метод ипользования сканера документов, желательно через локальную сеть. |
Отправлен: 14.12.2005, 17:30 Вопрос задал: Negruzzi Cristian (статус: Посетитель) Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0) |
Отвечает: Ataman N. N. Здравствуйте, Negruzzi Cristian! Насколько я знаю, то сканер никак нельзя использовать по сети. Сам когда то хотел сканировать "чужим" сканером, но увы. |
Ответ отправил: Ataman N. N. (статус: 4-ый класс) Отправлен: 14.12.2005, 19:25 |
Отвечает: Denisss Здравствуйте, Negruzzi Cristian! Ищите примеры и документацию по использованию TWAIN. Через локальную сеть можно так: На компьютере, где установлен сканер пишете серверную часть. Эта часть будет следить за обращением к сканеру, сканировать и передавать отсканированное по сети. Для клиентов пишете клиентскую часть. Эта часть будет отсылать запросы на серверную часть (указывать разные параметры сканирования) и получать отсканированное от серверной части. Единственное "НО" (хотя может и не единственное): Вам придется поискать документы и примеры по использованию TWAIN без отображения TWAIN-диалога. Иначе придется клиентам бегать на сервер, чтобы устанавливать параметры сканирования вручную при каждом сканировании. |
Ответ отправил: Denisss (статус: Специалист) Отправлен: 15.12.2005, 16:07 Оценка за ответ: 5 |
Вопрос № 31.484 |
Здравствуйте, вопрос такой, создаю Com-объект (объект автоматизации), как мне переопределить конструктор. Пробовала просто переопределить Create (без параметров), но проблема в том, что он не вызывается при создании этого объекта в клиентском приложении. |
Отправлен: 14.12.2005, 17:54 Вопрос задала: Татьяна (статус: 10-ый класс) Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0) |
Отвечает: sir henry Здравствуйте, Татьяна! COM-объект Вы создаете на основе интерфейса? А Вы уверены, что у интерфейсов есть Create? :) Если Вы создаете объект смешаного типа, т.е. наследник и TObject и IUnknown, то Create у него работает точно так же как у любого наследника TObject, т.е. может быть спокойно переопределен. Или может я не понял Вашего вопроса? |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 18:53 |
Вопрос № 31.485 |
Можно ли библиотеку dll использовать как хранилище паролей, которое может постоянное меняться? Если да, то привелите, пожалуйста, работающий пример, а то я пыталься что-то сделать, и ничего не работает. Заранее спасибо. |
Отправлен: 14.12.2005, 18:14 Вопрос задал: Segor (статус: Посетитель) Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0) |
Отвечает: sir henry Здравствуйте, Segor! DLL - это хранилище функций, а не данных. Придумайте что-нибудь менее экстравагантное. |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 18:54 |
Отвечает: Golden Spider Здравствуйте, Segor! Нет нельзя. Во первых Dll это библиотека функций, а во вторых она компилируется толко один раз и изменятся не может (Хотя вы можете сохранить в ней данные, например эти данные могут возвращаться какой-либо функциеё). --------- Семь раз проверь, один раз откомпилируй! |
Ответ отправил: Golden Spider (статус: 3-ий класс) Отправлен: 15.12.2005, 22:05 |
Вопрос № 31.486 |
Можно ли библиотеку dll использовать как хранилище паролей, которое может постоянное меняться? Если да, то привелите, пожалуйста, работающий пример, а то я пытался что-то сделать, и ничего не работает. Заранее спасибо. |
Отправлен: 14.12.2005, 18:15 Вопрос задал: Segor (статус: Посетитель) Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0) |
Отвечает: Ataman N. N. Здравствуйте, Segor! К сожалению такое сделать невозможно. dll-таже программа. Если вы написали программу, которая может компилировать библиотеки, то никаких вопросов, а иначе.... |
Ответ отправил: Ataman N. N. (статус: 4-ый класс) Отправлен: 14.12.2005, 19:23 |
Отвечает: Boriss Здравствуйте, Segor! В принципе, можно, но вряд ли это удобно: Приложение: |
Ответ отправил: Boriss (статус: Профессор) Отправлен: 15.12.2005, 10:38 |
Отвечает: Denisss Здравствуйте, Segor! Чисто теоретически, это возможно, если сохранять в ресурсы библиотеки. Но для этого Вам придется изучить не только методы шифрации/дешифрации, но и структуру PE-файлов. Для хранения паролей надо использовать базу данных (не обязательно готовую - можно и самому написать) с защитой этой базы паролем. Как самый простой вариант, могу предложить использовать ADO. |
Ответ отправил: Denisss (статус: Специалист) Отправлен: 15.12.2005, 15:32 |
Вопрос № 31.487 |
Еще раз, здравствуйте! Вот такой вопрос: Нужен CList! Есть ли подобная штука в Делфи? Чтобы можно было добавить в голову элемент, в хвост элемент, убрать из головы / хвоста элемент... а навигация была как в массиве, так же нужно узнавать его размер... В листе будут классы (структуры)... |
Отправлен: 14.12.2005, 18:23 Вопрос задал: Zitz (статус: 2-ой класс) Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 1) |
Отвечает: Lector Здравствуйте, Zitz! юзайте TStringList. Он может хранить любые объекты. Добавление/удаление записей делается очень легко. --------- Хочешь помочь старику - сделай вместо него. Хочешь помочь новичку - сделай вместе с ним. Хочешь помочь мастеру - отойди и не мешай, а хочешь помочь дураку - сам дурак. |
Ответ отправил: Lector (статус: Студент) Отправлен: 14.12.2005, 18:34 Оценка за ответ: 5 |
Отвечает: Татьяна Здравствуйте, Zitz! Все просто, думаю вам подойдет TList - как раз он может хранить объекты любого типа (точнее указатели на эти объекты) --------- Нет ничего невозможного!!! |
Ответ отправила: Татьяна (статус: 10-ый класс) Отправлен: 14.12.2005, 18:37 Оценка за ответ: 5 |
Отвечает: Ataman N. N. Здравствуйте, Zitz! В Delphi есть класс TList. Функциональность такая же как и CList. Индекс объекта(елемента) можна узнать используя функцию IndexOf(). |
Ответ отправил: Ataman N. N. (статус: 4-ый класс) Отправлен: 14.12.2005, 18:44 Оценка за ответ: 5 |
Отвечает: sir henry Здравствуйте, Zitz! Если нужен невизуальный компонент, то есть TStringList. У него в свойстве Strings хранятся некие строки, а в свойстве Objects - любые объекты. Обращатся можно по индексу, как у массива. Количество узнаем в свойстве Count. Var i: integer; sl: TStringList; Begin sl:=TStringList.Create; {Создаем объект} For i:=0 To 9 Do {Заполняем чем-нибудь} Begin sl.Add('Какая-нибудь строковая лабуда'+IntToStr(i)); sl.AddObject(Сюда присваиваем какой-нибудь объект); End; |
Ответ отправил: sir henry (статус: Академик) Отправлен: 14.12.2005, 19:08 Оценка за ответ: 5 |
Отвечает: Лучников Юрий Владимирович Здравствуйте, Zitz! Да есть. Название класса - TList. |
Ответ отправил: Лучников Юрий Владимирович (статус: 4-ый класс) Отправлен: 14.12.2005, 20:27 |
Отвечает: Schmak Здравствуйте, Zitz! Называется такой класс TList. Основные методы Add, Delete, Clear, Insert я думаю труда не вызовут. Также для хранения строк можно воспользоваться TStringList. Методы подобны. --------- Не всё то Windows, что висит! |
Ответ отправил: Schmak (статус: Студент) Отправлен: 15.12.2005, 05:46 |
© 2001-2005, Портал RusFAQ.ru, Россия, Москва. Идея, дизайн, программирование: Калашников О.А. Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31 Авторские права | Реклама на портале | |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus Архив рассылки |
Отписаться
Вспомнить пароль |
В избранное | ||