Просмотр полной версии : [Delphi]/[Pascal] Задай вопрос, получи ответ
Задаем Вопросы,получаем ответы.
Отвечают на ваши вопросы все хек кодеры ачата :)
Задаем вопрос и ждем ответа.
-------------------------------------------------------
by jes
Навигация по разделу:
Где скачать Delphi ?--> (https://forum.antichat.ru/showpost.php?p=532182&postcount=881)
--> (https://forum.antichat.ru/showpost.php?p=587898&postcount=1059)
--> (https://forum.antichat.ru/showpost.php?p=381905&postcount=124)
Как сделать действия закрятия формы(программы), сворачивания и развертывания её? (https://forum.antichat.ru/showpost.php?p=357393&postcount=3)
Я хочю чтоб при на жатии кнопки на Button1 комп выключался,а при нажатии на кнопку Button2 совершалась перезагрузка... (https://forum.antichat.ru/showpost.php?p=357648&postcount=9) Как добавлять запись в файл? (https://forum.antichat.ru/showpost.php?p=358127&postcount=12)
А потом какой функцией сделать поиск по файлу? (https://forum.antichat.ru/showpost.php?p=358127&postcount=12)
Как добавить Иконку? (https://forum.antichat.ru/showpost.php?p=358287&postcount=16) Как разобрать uins.ini формата 3252436;passwr на две переменные?--> (https://forum.antichat.ru/showpost.php?p=358663&postcount=18)
--> (https://forum.antichat.ru/showpost.php?p=358683&postcount=19)
--> (https://forum.antichat.ru/showpost.php?p=358824&postcount=20)
Как проверить что:
1. интернет включен
2. Что данные не были заблочены FireWall'ом и успешно отправлены.--> (https://forum.antichat.ru/showpost.php?p=359342&postcount=25)
--> (https://forum.antichat.ru/showpost.php?p=359357&postcount=26) Как реализовать отправку писем через Socks5, допустим, используя компоненты Indy - IdSMTP и TidMessage? (https://forum.antichat.ru/showpost.php?p=360737&postcount=30)
в файле допустим 15 номеров формата uins;pass ,как сделать чтобы все эти 15 номеров подконнектились? (https://forum.antichat.ru/showpost.php?p=362608&postcount=34)
Ищу учебник или статьи по сетевым компонентам (Indy), или статьи на эту тему (https://forum.antichat.ru/showpost.php?p=364487&postcount=40)
Как сделать простельние графические графические часики? (https://forum.antichat.ru/showpost.php?p=365522&postcount=42)
подскажите какие-нибудь проги для начинающих для самостоятельного написания? (https://forum.antichat.ru/showpost.php?p=365658&postcount=44)
какой должен быть тип возвращаемого функцией значения, если функция сохраняет файл?--> (https://forum.antichat.ru/showpost.php?p=365995&postcount=47)
--> (https://forum.antichat.ru/showpost.php?p=366045&postcount=49)
можно осуществлять печать с Memo? или только с RichEdit? (https://forum.antichat.ru/showpost.php?p=366127&postcount=52)
Хотелось бы услышать несколько советов по уменьшению размера программы (http://forum.antichat.ru/thread40603.html)
Как написать чекер акков на валид ? ( конект идет через Https ) --> (https://forum.antichat.ru/showpost.php?p=369618&postcount=71)
--> (https://forum.antichat.ru/showpost.php?p=369977&postcount=73)
Как использовать в моей программе курсоры, независящие от системы?--> (https://forum.antichat.ru/showpost.php?p=369977&postcount=73)
--> (https://forum.antichat.ru/showpost.php?p=370025&postcount=75)
Как использовать ресурсы? (https://forum.antichat.ru/showpost.php?p=370026&postcount=76)
как работать с архивами из приложения? (https://forum.antichat.ru/showpost.php?p=370210&postcount=80)
как определить при помощи делфи имя компьютера?--> (https://forum.antichat.ru/showpost.php?p=374971&postcount=92)
--> (https://forum.antichat.ru/showpost.php?p=375160&postcount=93) Как получить список процессов НО ТОЛЬКО С ИХ полным путем !? (https://forum.antichat.ru/showpost.php?p=376851&postcount=95)
как создавать потоки с помощью TThread?--> (https://forum.antichat.ru/showpost.php?p=377209&postcount=98)
--> (https://forum.antichat.ru/showpost.php?p=377209&postcount=99)
--> (https://forum.antichat.ru/showpost.php?p=377209&postcount=100)
Как отправить почту ? (https://forum.antichat.ru/showpost.php?p=380375&postcount=108)
как использовать камандуную строку windows через дельфи?--> (https://forum.antichat.ru/showpost.php?p=380636&postcount=113)
--> (https://forum.antichat.ru/showpost.php?p=380648&postcount=114)
как в делфи выполнять гет, пост запросы к сайтам? --> (https://forum.antichat.ru/showpost.php?p=381489&postcount=117)
--> (https://forum.antichat.ru/showpost.php?p=381489&postcount=118)
--> (https://forum.antichat.ru/showpost.php?p=381489&postcount=119)
Как установить компонет из исходника? (https://forum.antichat.ru/showpost.php?p=381765&postcount=121)
как при помощи TIdAttachment прикрепить файл к письму ? (https://forum.antichat.ru/showpost.php?p=386734&postcount=127)
как из Delphi запустить .bat файл? (https://forum.antichat.ru/showpost.php?p=388649&postcount=136)
Как программно загрузить файл из интернета (скрытно) ? (https://forum.antichat.ru/showpost.php?p=391414&postcount=156)
Возможно ли программно установить Пароль на папку? (https://forum.antichat.ru/showpost.php?p=395368&postcount=165)
Подскажите как по имени процесса получить его Pid?
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=169)
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=172)
как можно организовать перехват событий мышки в любом приложении?--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=174)
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=175)
Как зделать чтобы окно не сворачивалось и не разворачивалось ?--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=194)
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=196)
Как скрыть программу с панели задач?--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=221)
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=222)
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=223)
--> (https://forum.antichat.ru/showpost.php?p=399532&postcount=224)
как написать простенький редактор на Delphi ? (https://forum.antichat.ru/showpost.php?p=408366&postcount=227)
Есть ли исходники zlib, которые пакуют, распаковывают файлы..?--> (https://forum.antichat.ru/showpost.php?p=409065&postcount=231)
--> (https://forum.antichat.ru/showpost.php?p=409065&postcount=232)
Подскажите пример парсинга страницы? <b> текст </b> ? (https://forum.antichat.ru/showpost.php?p=412092&postcount=239)
...Для нескольких тэгов (https://forum.antichat.ru/showpost.php?p=412097&postcount=241)
как сменить иконку стороннего приложения? (https://forum.antichat.ru/showpost.php?p=415399&postcount=254)
КАк сделать переход на другую форму при нажатии кнопки? (https://forum.antichat.ru/showpost.php?p=416171&postcount=257)
Как поменять размер окна, зная её хэндл? (https://forum.antichat.ru/showpost.php?p=416190&postcount=260)
как сделать чтобы когда открывалась форма номер 2, 1 форма закрывалась? (https://forum.antichat.ru/showpost.php?p=416211&postcount=265)
а как задать размер окна, например 800х600? (https://forum.antichat.ru/showpost.php?p=416241&postcount=269)
как выводить красный текст в Мемо через Memo1.Lines.Add('text');? --> (https://forum.antichat.ru/showpost.php?p=417292&postcount=282)
--> (https://forum.antichat.ru/showpost.php?p=417109&postcount=280)
Как получить заголовок и указатель активного окна? (https://forum.antichat.ru/showpost.php?p=417364&postcount=284)
как организовать поиск определенного файла по имени или части имени?--> (https://forum.antichat.ru/showpost.php?p=420133&postcount=319)
--> (https://forum.antichat.ru/showpost.php?p=420569&postcount=320)
TServerSocket и TClientSocket, как передать файл от сервера к клиенту или наоборот? (https://forum.antichat.ru/showpost.php?p=421073&postcount=326)
Как читать файл построчно? (https://forum.antichat.ru/showpost.php?p=422372&postcount=381)
Как программно перезагрузить Компьютер? (https://forum.antichat.ru/showpost.php?p=422298&postcount=378)
Как прохешировать строку в MD5 (https://forum.antichat.ru/showpost.php?p=423770&postcount=409)
Подскажите редактор ресурсов для .res диалогов ?--> (https://forum.antichat.ru/showpost.php?p=425627&postcount=429)
--> (https://forum.antichat.ru/showpost.php?p=423770&postcount=409)
механизм Drag-and-Dock так, чтобы одна форма прилипала к другой при перетаскивании той формы, кторая должна прилипнуть, на ту форму, к котрой она должна прилипнуть примерно на 5-6 пикселей?? (https://forum.antichat.ru/showpost.php?p=426885&postcount=440)
Продолжение:
Как поставить на хук на TerminateProcess? (https://forum.antichat.ru/showpost.php?p=430544&postcount=461)
Подкиньте пример работы с aplib только без FileStream? (https://forum.antichat.ru/showpost.php?p=430894&postcount=463)
как сделать чтобы при нажатии на кнопку открывался опен диалог? (https://forum.antichat.ru/showpost.php?p=432794&postcount=467)
Как сделать чтобы при выборе в OpenDialog имя файла(+путь) выводилось в TEdit? (https://forum.antichat.ru/showpost.php?p=432828&postcount=474)
Как сделать OpenDialog & SaveDialog на WinAPI ? (https://forum.antichat.ru/showpost.php?p=434009&postcount=477)
Как масштабировать форму? (https://forum.antichat.ru/showpost.php?p=437893&postcount=495)
Как сделать чтобы окно нельзя было двигать и оно всегда было активным? (https://forum.antichat.ru/showpost.php?p=469239&postcount=646)
где взять JVCL?--> (https://forum.antichat.ru/showpost.php?p=438268&postcount=499)
--> (https://forum.antichat.ru/showpost.php?p=438268&postcount=500)
Как пропарсить файл вида sdas@mail.ru \n asdas@bk.ru ? (https://forum.antichat.ru/showpost.php?p=441787&postcount=522)
Эмуляция консоли: (https://forum.antichat.ru/showpost.php?p=448050&postcount=552)
Как осуществить отправку файла выбранного в OpenDialog1 на e-mail скрыто от пользователя ? --> (https://forum.antichat.ru/showpost.php?p=449481&postcount=563)
--> (https://forum.antichat.ru/showpost.php?p=449481&postcount=570)
Как сделать на WinApi в ListView,чтобы новые записи при добавлении добавлялись сверху вниз ? Или Снизу вверх? (https://forum.antichat.ru/showpost.php?p=456057&postcount=596)
Куда поместить ProcessMessages for WinAPI? (https://forum.antichat.ru/showpost.php?p=457816&postcount=607)
FormatDateTime('dddd, d-mmm-yy h:mm:ss',Date+Time) возвращает дату по-русски. Как сделать чтоб данная функция всегда возвращала дату по-английски?
--> (https://forum.antichat.ru/showpost.php?p=461964&postcount=626)
--> (https://forum.antichat.ru/showpost.php?p=461969&postcount=627)
как созданному файлу, иконку изменить программно? (https://forum.antichat.ru/showpost.php?p=462221&postcount=633)
как получить список дочерних процессов чужого приложения? (для win2000-XP) (https://forum.antichat.ru/showpost.php?p=466132&postcount=641)
поиск определителя матрицы, любого порядка, рекурсия (https://forum.antichat.ru/showpost.php?p=466177&postcount=644)
Как можно зашифровать файл в Base64 и разшифровать из Base64?--> (https://forum.antichat.ru/showpost.php?p=486041&postcount=666)
--> (https://forum.antichat.ru/showpost.php?p=486079&postcount=667)
как отправить письмо через WinSock c аттачментом? (https://forum.antichat.ru/showpost.php?p=486943&postcount=669)
как иконку добавить к программе? (https://forum.antichat.ru/showpost.php?p=491711&postcount=681)
Работа с ф-цией WaveOutOpen? (https://forum.antichat.ru/showpost.php?p=494734&postcount=691)
как написать программу чтоб она "заходила" на сайт допустим mysite.ru ,чтоб счетчик защитывал посещение и при этом юзер ничего не видел? (https://forum.antichat.ru/showpost.php?p=496822&postcount=699)
Поиск слова в строке/тексте (https://forum.antichat.ru/showpost.php?p=496986&postcount=702)
как программно залогинится на сйте(vBulletin)? (https://forum.antichat.ru/showpost.php?p=499728&postcount=706)
Выдаёт ошибку Project2.dpr(2): File not found: 'Crt.dcu' (https://forum.antichat.ru/showpost.php?p=500519&postcount=713)
посылка формы методом Post по Https (https://forum.antichat.ru/showpost.php?p=501101&postcount=720)
Как скопировать себя при запуске в определенное место на диске ? (https://forum.antichat.ru/showpost.php?p=501228&postcount=722)
Преобразование Ascii в шестнадцатиричное представление (https://forum.antichat.ru/showpost.php?p=502819&postcount=739)
...и обратно... (https://forum.antichat.ru/showpost.php?p=502891&postcount=740)
Как сделать форму ввиде сердца, фигуры , рисунка? (https://forum.antichat.ru/showpost.php?p=507050&postcount=746)
Как передать текст с первой формы на вторую ? (https://forum.antichat.ru/showpost.php?p=508051&postcount=748)
Как прочитать параметры запуска? ( prog.exe -param1 -param2) (https://forum.antichat.ru/showpost.php?p=514165&postcount=770)
Как использовать таймер в консоли? (https://forum.antichat.ru/showpost.php?p=516658&postcount=776)
как забрать с запученого процесса cmd его строки? (https://forum.antichat.ru/showpost.php?p=518787&postcount=785)
Работа с MySQL (https://forum.antichat.ru/showpost.php?p=521551&postcount=800) +Пример (https://forum.antichat.ru/showpost.php?p=521563&postcount=802)
Как отключить мышь? (https://forum.antichat.ru/showpost.php?p=525432&postcount=824)
Возможно ли закриптовать программный код в исходниках?--> (https://forum.antichat.ru/showpost.php?p=525595&postcount=826)
--> (https://forum.antichat.ru/showpost.php?p=526099&postcount=830) Как сделать чтобы окно загружалась по центру а не соева сверху? (https://forum.antichat.ru/showpost.php?p=528987&postcount=855)
Автозагрузка программы (https://forum.antichat.ru/showpost.php?p=532362&postcount=888)
как правильно запускать файл через коммандную строку на Delphi? (https://forum.antichat.ru/showpost.php?p=533311&postcount=890)
Как с помощью IdHTTP получить содержимое веб страницы в переменную? (https://forum.antichat.ru/showpost.php?p=545456&postcount=912)
Как изменить текст в поле другого окна?--> (https://forum.antichat.ru/showpost.php?p=548578&postcount=918)
--> (https://forum.antichat.ru/showpost.php?p=548586&postcount=919) Как написать сетевой сниффер? (https://forum.antichat.ru/showpost.php?p=549882&postcount=922)
Как вывести числа из массива в TMemo? (https://forum.antichat.ru/showpost.php?p=554958&postcount=928)
Как сделать чтобы нажатии на кнопку/ссылку открывалась нужная web страница? (https://forum.antichat.ru/showpost.php?p=558424&postcount=930)
Как изменить цвет фона в TMemo? (https://forum.antichat.ru/showpost.php?p=560180&postcount=938)
как сделать так что бы при нажатии button1 программа закрывалась, разворачивалась или сворачивалась? (https://forum.antichat.ru/showpost.php?p=561236&postcount=944)
как сделать так чтобы при нажатии button1 срабатывал диалог OpenDialog?--> (https://forum.antichat.ru/showpost.php?p=561236&postcount=944)
--> (https://forum.antichat.ru/showpost.php?p=561245&postcount=946)
как вывести числовую матрицу на экран? (https://forum.antichat.ru/showpost.php?p=571876&postcount=995)
Как сохранить содержимое TStringGird в файл (и загрузить из файла)? (https://forum.antichat.ru/showpost.php?p=572562&postcount=1005)
Описание компонентов + новые компоненты: (https://forum.antichat.ru/showpost.php?p=573305&postcount=1007)
Описание компонентов Indy: (https://forum.antichat.ru/showpost.php?p=575213&postcount=1011)
Как создать процесс из части файла? (https://forum.antichat.ru/showpost.php?p=576111&postcount=1015)
есть ли какой нибудь мини делфи или компилятор для него? (где скачать DCC32?) (https://forum.antichat.ru/showpost.php?p=578174&postcount=1022)
Как сделать скриншот только активного окна? (https://forum.antichat.ru/showpost.php?p=580631&postcount=1027)
Как программно посчитать количество слов в тексте?--> (https://forum.antichat.ru/showpost.php?p=584598&postcount=1044)
--> (https://forum.antichat.ru/showpost.php?p=584650&postcount=1045)
--> (https://forum.antichat.ru/showpost.php?p=584668&postcount=1046)
Как записать матрицу в массив? (https://forum.antichat.ru/showpost.php?p=585536&postcount=1050)
Принцип работы бэкдора? (исходник)--> (https://forum.antichat.ru/showpost.php?p=588289&postcount=1069)
--> (https://forum.antichat.ru/showpost.php?p=588982&postcount=1074) как из компонента ListView скопировать строчку в буфер? (https://forum.antichat.ru/showpost.php?p=589446&postcount=1076)
как запустить командную строку с перенаправлением ввода вывода на сокеты? (https://forum.antichat.ru/showpost.php?p=590899&postcount=1083)
Как random в delphi генерирует случайные значения? есть какой либо алгоритм? (https://forum.antichat.ru/showpost.php?p=591440&postcount=1088)
как запретить закрытие form1 когда открыта form2? (https://forum.antichat.ru/showpost.php?p=591573&postcount=1090)
как сделать отсылку файлов через электронную почту? (https://forum.antichat.ru/showpost.php?p=593383&postcount=1104)
ICQ и Delphi (https://forum.antichat.ru/showpost.php?p=593952&postcount=1107)
Как сделать окно (сплэш) с приветствием? (https://forum.antichat.ru/showpost.php?p=594784&postcount=1112)
как узнать имена всех пользователей Windows? (https://forum.antichat.ru/showpost.php?p=595668&postcount=1121)
а как можно сменить пароль на email ? (https://forum.antichat.ru/showpost.php?p=597466&postcount=1137)
как разбить строку вида 192.168.0.1 на 192 168 0 1? (https://forum.antichat.ru/showpost.php?p=599254&postcount=1147)
как отобразить на форме картинку с какого нибудь сайта ? --> (https://forum.antichat.ru/showpost.php?p=604325&postcount=1159)
--> (https://forum.antichat.ru/showpost.php?p=609971&postcount=1173)
Как извлечь файл на диск из resource data? (https://forum.antichat.ru/showpost.php?p=611692&postcount=1180)
Можн ли в delphi написать нечто подобное : a:array[21] of TLabel? (https://forum.antichat.ru/showpost.php?p=615304&postcount=1184)
пример роботы из Делфи с MySQL? (https://forum.antichat.ru/showpost.php?p=617272&postcount=1189)
как сжать папку с файлами на Delphi (rar)?
-> (https://forum.antichat.ru/showpost.php?p=643830&postcount=1298)
-> (https://forum.antichat.ru/showpost.php?p=644090&postcount=1300)
примитивный склейщик файлов (https://forum.antichat.ru/showpost.php?p=644128&postcount=1301)
Delphi & SQLite (https://forum.antichat.ru/thread135998.html)
Ну я пожалуй начну :)
Интересует.....
Как сделать действия закрятия формы(программы), сворачивания и развертывания её !!!
Пытался сделать
Form1.Close := true;
не получилось т.к. бред :)
И еще...сделал форму свой с бордером bsNone т.е. убрал стандартные виндоус бока..Так вот..как теперь сделать так, чтобы мою форму можно было перетаскивать??А то н сдвинуть теперь с места никуда :)
Form1.Close; - закрытие
Application.Minimize; - сворачивание
ShowWindow(Form1.Handle,SW_MAXIMIZE); - развертывание
Чтобы можно было перетаскивать форму за любую точку, нужно добавить вот эту процедуру:
public
procedure WMNChitTest(var M:TWMNCHitTest);message wm_NchitTest;
end;
procedure TForm1.WMNChitTest(var M: TWMNCHitTest);
begin
inherited ;
if M.Result=htClient then M.Result:=HTCAPTION;
end;
Следующий вопрос..
Можно ли как-нибудь на mainMenu( выпадющий список) наложить панельку ...
Или может как-то MainMenu спустить пониже, а сверху панельку..
Вот как такое сделать
Решил не создавать новую тему, а просто попросить выложить линки на материал по поводу ручногоо изменения Pe загловков, для того чтобы не палился пинч.
Решил не создавать новую тему, а просто попросить выложить линки на материал по поводу ручногоо изменения Pe загловков, для того чтобы не палился пинч.
поищи на xakep.ru. в статьях. там было
xaker-boss
06.05.2007, 22:43
Люди кото может памоч? у меня чёта непалучается органезовать выключение и перезагрузку компа.
Я хочю чтоб при на жатии кнопки на Button1 комп выключался,а при нажатии на кнопку Button2 совершалась перезагрузка...Кто может скинте код,или исходник,ПЛИЗ..
Эм...ну думаю сложного ничего нету.....
Просто открыть смд и прописать команды.........
Хм..а зачем это...не легче просто выключить или ребутнуть?
Выключение:
var
downQuick: Boolean = False;
powerOff: Boolean = False;
logoff: Boolean = False;
reboot: Boolean = False;
...
procedure DoShutdown;
var
rl, flgs: Cardinal;
hToken: Cardinal;
tkp: TOKEN_PRIVILEGES;
begin
flgs := 0;
if downQuick then flgs := flgs or EWX_FORCE;
if not reboot then flgs := flgs or EWX_SHUTDOWN;
if reboot then flgs := flgs or EWX_REBOOT;
if poweroff and (not reboot) then flgs := flgs or EWX_POWEROFF;
if logoff then flgs := (flgs and (not (EWX_REBOOT or EWX_SHUTDOWN or EWX_POWEROFF))) or
EWX_LOGOFF;
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
if not OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
hToken) then
exit
else
begin
if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid) then
begin
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
tkp.PrivilegeCount := 1;
AdjustTokenPrivileges(hToken, False, tkp, 0, nil, rl);
if GetLastError <> ERROR_SUCCESS then
Writeln('Error adjusting process privileges.');
end
else
exit;
end;
end;
ExitWindowsEx(flgs, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DoShutdown;
end;
Вот еще варианты:
ExitWindowsEx(EWX_SHUTDOWN or ewx_force,0);
останавливает работу системы в безопасный момент времени. Все буферы очищаются с сохранением данных на диске, все процессы останавливаются
ExitWindowsEx(EWX_REBOOT or ewx_force,0);
перезагрузка системы
ExitWindowsEx(EWX_FORCE or ewx_force,0);
завершает работу всех запущенных в системе приложений, не посылая им сообщения WM_QUERYENDSESSION и WM_ENDSESSIO. Это может вызвать потерю не сохраненных данных
ExitWindowsEx(EWX_POWEROFF or ewx_force,0);
завершает работу компьютера с выключением питания, если система поддерживает автоуправление питанием
ExitWindowsEx(EWX_FORCEIFHUNG or ewx_force,0);
завершает работу всех запущенных в системе приложений если система висит
Ещё вариант перезагрузки:
mov al,0F0h
out 64h,al
Пара нубских вопросов:
Как добавлять запись в файл?
Дропустим нужно все время дописывать в конец файл номера..
ПО 1 номеру на строку..
А потом какой функцией сделать поиск поф файлу?если ли такой номер
Добавляет запись в файл
var
SL: TStringList;
begin
Sl:=TStringList.Create;
if FileExists('myfile.txt') then SL.LoadFromFile('myfile.txt');
SL.Add('Text');
SL.SaveToFile('myfile.txt');
SL.Free;
end;
Чтобы сделать поиск, нужно просто загружать весь файл в
переменую
SL.LoadFromFile('myfile.txt');
и потом проверять наличие нужного тебе номера в каждой строчке
if SL.Strings[nomerstroki]='Text' then...;
if SL.Strings[nomerstroki]='Text' then...;
Не понятно......как я узнаю номер строки??
Ищем текст Text в файле...что за номер строки?:)
var
i:integer
begin
for i:=0 to Sl.Count-1 do
if Sl.Strings[i] = 'Text' then ...
Спс...
Теперь проблема с иконкой...
пытаюсь поставить иконку на прогу.....вроде ставлю, она высвечивается в заголовке программы., а сам значок проги не делается :(
"Projects -> Options -> Application" и там жми Load Icon...
Super Puper вопрос:
Вообщем надо сделать так:
Есть файл uins.ini такого формата
3252436;passwr
236347;264sdg34
Nак вот.....надо как-то сделать так, чтобы номер до точки с запятой был переменной UIN, а после переменная PASSWORD
UIN:= copy(SL.Strings[i],0,pos(';',SL.Strings[i])-1);
Pas:= copy(SL.Strings[i],pos(';',SL.Strings[i])+1,32);
Сделал проще:
var
ss:Tstrings;
begin
ss:=TStringList.Create;
ss.LoadFromFile('uins.txt');
ss.NameValueSeparator:=';';
ICQClient1.UIN := StrToInt(ss.Names[1]);
ICQClient1.Password := ss.ValueFromIndex[1];
Как проверить что:
1. интернет включен
2. Что данные не были заблочены FireWall'ом и успешно отправлены.
inSa(Ne)rd
08.05.2007, 14:22
1.
BOOL WINAPI InternetGetConnectedState( OUT LPDWORD lpdwFlags, IN DWORD dwReserved);
// Flags for InternetGetConnectedState
#define INTERNET_CONNECTION_MODEM 1
#define INTERNET_CONNECTION_LAN 2
#define INTERNET_CONNECTION_PROXY 4
#define INTERNET_CONNECTION_MODEM_BUSY 8
#include <wininet.h>
...
DWORD dwFlags;
InternetGetConnectedState( &dwFlags, 0 );
if (dwFlags && INTERNET_CONNECTION_MODEM) printf( "модем подключен\n" );
if (dwFlags && INTERNET_CONNECTION_LAN) printf( "lan подключен\n" );
2.
Хех, если коннект к удаленному серверу прошел успешно, значит фаервол не заблочил данные)
if (connect( s, (struct sockaddr_in*)s_addr, sizeof( s_addr ) ) == SOCKET_ERROR)
printf( "заблочил)\n" ); else printf( "не заблочил)\n" );
чмок)
const INTERNET_CONNECTION_MODEM = 1;
INTERNET_CONNECTION_LAN = 2;
INTERNET_CONNECTdState';
{$R *.DFM}
procedure TForm1.CheckState(Sender: TObject);
var dwConnectionTypes: DWORD;
begin
dwConnectionTypes:=IC_MODEM+IC_LAN+IC_PROXY;
if InternetGetConnectedState(@dwConnectionTypes,0)
then
ShowMessage('Youa connected')
else
ShowMessage('No Connection');
end;
Как проверить что:
1. интернет включен
function InetIsOffline(Flag: Integer): Boolean;
stdcall; external 'URL.DLL';
if InetIsOffline(0) then
ShowMessage('This computer is not connected to Internet!')
else
ShowMessage('You are connected to Internet!');
Я канешна извеняюсь но я написал тоже самое толька оформил хренова иба малый опыт писатьни в форумах)))
Прежде чем задавать здесь вопрос стоит посмотреть, а нет ли его сдесь -> http://forum.antichat.ru/showthread.php?p=325627#post325627 . Это хорошая тема, но интересно было бы усышать какую то интересную проблему (вопрос). Ведь спрашивать на счёт строк, которые проходят в школе это не очень серьёзно. ИМХО.
2 Brun
Ладно, попробую задать вопрос немного поинтереснее...
Как реализовать отправку писем через Socks5, допустим, используя компоненты Indy - IdSMTP и TidMessage?
idSmtp.Host:=<smtp>; // smtp.mail.ru
idSmtp.UserName:=<user name>;
idSmtp.Password :=<password>;
// если не надо авторизации на смтп сервере
idSmtp.AuthenticationType:=atNone
// если надо
idSmtp.AuthenticationType:=atLogin
......
if not idSmtp.Connected then idSmtp.Connect;
idMess.Body.Clear;
idMess.Body.Add('ТЕКСТ')
idMess.From.Address:=<отправитель>;
idMess.Subject:='тема';
idMess.Recipients.EMailAddresses:=<получатель>;
idSmtp.Send(idMess);
idSmtp.Disconnect;
Удачи!!
2 neji
Не плохо... Осталось лишь дописать главную часть заданного мной вопроса, а именно поддержку Socks5...
У меня такой вопрос не простой....
Вообщем по TICQClient'y :)
У меня в файле допустим 15 номеров формата uins;pass
Вообщем надо сделать чтобы все эти 15 номеров подконнектились....и не выключались :)
Пытасюь сделать типа этого:
Uins.LoadFromFile('uins.txt');
Uins.LoadFromFile('uins.txt');
Uins.NameValueSeparator := ';';
for i := 0 to Uins.Count - 1 do
begin
ICQClient1.UIN := StrToInt(copy(Uins.Strings[i],0,pos(';',Uins.Strings[i])-1));
ICQClient1.Password := copy(Uins.Strings[i],pos(';',Uins.Strings[i])+1,32);
ICQClient1.Login();
end;
Этим способом выводит в онлайн только 1 номер(последний в файле),а мне надо чтобы все номера выводились..
Так вот мне сказали что надо использовать не 1 ICQClient, а столько, сколько надо номеров вывести вонлайн...
Так вот скажите пожалуйста как мне это сделать правильно и чтобы эти номера вывелись в онлайн одновременно, то бишь потоки...
Пожалуйста поподробнее...:)Надо вникнуть.
За эту задачу дам +18, только объясните подробненько каждую функцию которую будете делать...
Так ты выведешь только 1 номер в онлайн, так как у тебя только 1 ICQClient, а их должно быть столько же сколько и уинов, я тебе по асе кидал почти весь код своего флудера, советую немного подучить Delphi, тогда ты сможешь воспользоваться моим кодом
Можно еще попробывать создавать потоки и потом в Runtime создавать TICQClient.
Вот пример создания в рунтайме n-го колва кнопок и присвоение им обработчика клика. Также можно и создать скока хошь TICQClient'ов
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s:array of tbutton;
const
b_c=4;
implementation
{$R *.dfm}
procedure my_click(Self: pointer; Sender: TObject);
begin
showmessage(inttostr(Tbutton(sender).Tag));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x:integer;
begin
setlength(s,b_c);
for x:=0 to b_c-1 do begin
s[x]:=tbutton.Create(self);
s[x].ParentWindow:=form1.Handle;
s[x].Caption:=inttostr(x);
s[x].Left:=10;
s[x].Top:=40*x;
s[x].Tag:=x;
@s[x].OnClick:=@my_click;
end;
end;
end.
2 Go0o$E На счет писам - дык можно запросто юзать обычные сокеты :)
И через почтовые шлюзы отправлять письма. А там какой хошь такой и пиши адрес отправителя. Если заюзать сокеты то запросто можно всё переложить на socks5
Я себе для теста писал модуль дельфяный который сам создавал соединение с сокс5 прокси и возвращал дескптор сокета. модуль конечно сырой. (т.е. можно юзать тока IP и только TCP Connect). Если нужен, то могу выложить
вообшем вопрос как создать сторожа, который "наблюдает" за сайтом т.е. заходит на сайт каждые 20 минут и проверяет изменилось ли что-нибудь или нет.
мнеб какой-нибудь сорц или хотяб примерно как это это осушествить
begin_end
16.05.2007, 00:42
tip4il, я похожего сторожа писал, но он оказался не сильно эффективен. На таком крупном и активном форуме каждые 20 минут гарантированно происходят изменения. К тому же имеются возможности для этого у самого форума.
Вообще сначала определи требования к сторожу: что именно надо - обнаруживать любые изменения в конкретных разделах, просто создание новых тем или пр. В лучшем варианте это съест 75 Кб траффика (загрузка главной страницы форума), а если что-то посложнее - нужно будет тратить ещё больше.
Реализация возможна следующими средствами: использовать idHTTP или использовать WebBrowser. В всяком случае грузим html и производим выборочные сравнения с ранее загруженным, замечая отличия.
Почему все так и лезук к визуальным компонентам?
Если легче юзать напрямую сокеты.
Вот я написал парочку функций для работы с сокетами и всё время их юзаю.
К примеруЖ функции передаешь адрес буфера где содержится HTTP-заголовки, адрес буфера куда будет помещан ответ, IP сервака и порт куда нужно подсоедениться. И всё пашет запросто. Даже Time-out есть :)
Особенно удобно юзать если юзаются потоки
дайте плиз учебник или статьи по сетевым компонентам (Indy), или статьи на эту тему. или сорцы с большим количеством комментов.
http://www.programmersclub.ru/book тут я уже был.
я начинающий, так что особо не понайте :)
всем заранее очень благодарен!))
begin_end
17.05.2007, 04:24
Я как раз занимаюсь подобной тематикой.
Вот статьи, из написанных мной, где рассматривается работа с некоторыми INDY-компонентами:
Пишем простенький браузер (http://forum.antichat.ru/thread33165.html)
Простейший IRC-клиент на Delphi, средствами INDY (http://forum.antichat.ru/thread34872.html)
Простой веб-сервер на Дельфи (http://forum.antichat.ru/thread36384.html)
Пишем быстро простой бэкдор на основе idHTTPServer (http://forum.antichat.ru/thread36969.html)
Бесформенное использование INDY на примере Id http ProxyServer (http://forum.antichat.ru/thread38342.html)
К статьям обычно прилагается прокомментированный исходный код. Кроме самих статей, в теме после них, иногда бывают ещё указаны ссылки на полезные литературные источники.
PS: Всё это было на форуме и до этого поста :) . Рекомендую начать использовать поиск.
Astral_Master
18.05.2007, 07:50
Люди, подскажите. Я не силен с работой с графикой в делфе.. не так давно один человечек попросил написать меня простенькие графические часики..
я сделал форму, которая рисуется по контуру загруженной картинки циферблата, сделал перетаскивание часов по экрану за любую их часть, расчитал попиксельно, куда должна с каждой новой секундой отклоняться стрелка в зависимости от начального положения.
Даже стрелку нарисовал стандартными MoveTo, LineTo. Вот тут загвоздочка и пошла... стрелка-то, конечно, рисуется, и отрисовывается куда надо, только звездочка получается, потому что рефреша нету. Делаю рефреш - обновляется и картинка циферблата, отображая только равномерный Color формы... искал помощи в разны местах - не нашел. Может кто сможет помочь?
Не стоит говорить в своих ответах что-то вроде "зачем тебе часы, если их сейчас можно найти и скачать навалом..." Если я задаю вопрос, значит мне действительно это нужно.
Спасибо заранее тем, кто сможет помочь разобраться!
Ник Ример
Тебе нужна буфферизация(вспомогатель ая картинка), вот простенький пример набросалvar
Form1: TForm1;
bm : TBitmap;
im : TBitmap;
al : Integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
bm:=TBitmap.Create;
bm.Width:=128;
bm.Height:=128;
im:=TBitmap.Create;
im.LoadFromFile('D:\MyDocs\My Pictures\untitled.bmp');
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1.Canvas.Draw(0, 0, bm);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
bm.Canvas.Draw(0, 0, im);
bm.Canvas.Pen.Color:=$00FF00;
bm.Canvas.MoveTo(64, 64);
bm.Canvas.LineTo(round(sin(al/60*pi*2)*64)+64, round(cos(al/60*pi*2)*64)+64);
dec(al);
Form1.Canvas.Draw(0, 0, bm);
end;
подскажите какие-нибудь проги для начинающих для самостоятельного написания. ведь теория без практики - это не есть гуд) просто подкиньте идей, а в процессе написания можно будет и теорию подучить, и в целом потренироваться.
заранее спасибо =)
begin_end
18.05.2007, 13:56
О, вот возможно интересное задание - попробуй постепенно воспроизвести стандартный набор Windows: напиши блокнот, калькулятор, проводник, Интернет-браузер, редактор типа WordPad и медиаплеер в этой последовательности. Я начинал своё самообучение именно так.
В ходе создания программ тебе потребуется освоить работу с практически всеми визуальными компонентами. Причём, благодаря таким компонентам, само написание программ очень простое! А ещё есть исходники их (конечно на Делфи - можно подсмотреть). При возникновении конкретных проблем тебе всегда помогут здесь :)
Однако, если ещё ты не запускал Делфи, не видел "HelloWorld" и не знаешь, где пункт "Compile", то приступать к подобным заданиям не следует. Нужно хорошо освоить синтаксис языка и функционал среды разработки для того, чтобы хоть как то начать.
и первый вопрос. создание блокнота. какой должен быть тип возвращаемого функцией значения, если функция сохраняет файл?
второй вопрос: если создан новый текстовой файл (а не открыт существующий), то при попытке save
MainMemo.Lines.SaveToFile(FName);
вылетает ошибка. FName появляется после использования OpenDialog.
if OpenDialog1.Execute then
begin
FName:=OpenDialog1.FileName;
MainMemo.Lines.LoadFromFile(FName);
end;
я хочу решить эту проблему с помощью проверки на существование FName и функции, сделанной из обработчика SaveDialog
begin
SaveDialog1.FileName:=FName;
if SaveDialog1.Execute then
begin
FName:=SaveDialog1.FileName;
MainMemo.Lines.SaveToFile(FName);
end;
end;
может есть какое-то более правильное решение? если да, на вопрос номер 1 просьба все равно ответить.
ЗЫ помогаюсь книжкой Архангельского "100 компонентов общего назначения библиотеки Delphi 5"
ЗЫЫ to begin end ;)
anarсhist
18.05.2007, 20:02
... напиши блокнот, калькулятор, проводник, Интернет-браузер, редактор типа WordPad и медиаплеер в этой последовательности...
Когда-то еще в школе писал нечто на подобее вордпада, потом резко забил... вобщем была небольшая проблемка :
передача редактору имени файла при открытии через проводник (пр. кн. мыши - откр. с помощью - мой редактор)
стыдно, но до сих пор не наю как ето сделать =(
и первый вопрос. создание блокнота. какой должен быть тип возвращаемого функцией значения, если функция сохраняет файл?У неё нет возвращяемого значения, это процедура. Для проверки на ошибку используй try except end;
второй вопрос: если создан новый текстовой файл (а не открыт существующий), то при попытке savevar
Form1: TForm1;
FName : String = 'Untinled.txt';
Когда-то еще в школе писал нечто на подобее вордпада, потом резко забил... вобщем была небольшая проблемка :
передача редактору имени файла при открытии через проводник (пр. кн. мыши - откр. с помощью - мой редактор)
стыдно, но до сих пор не наю как ето сделать =(procedure TForm1.FormCreate(Sender: TObject);
begin
FName:=ParamStr(1);
if(FileExists(FName)) then MyNotepadOpenFile(FName);
end;
У неё нет возвращяемого значения, это процедура.
напиши пример плз
напиши пример плз try
Memo1.Lines.SaveToFile(FName);
except
// Сюда перейдёт только если произойдёт ошибка
end;
я имел в виду немного не то. сам код ошибки должен откуда-то браться. и этот же самый код должен быть в процедуре save as. то есть я не хочу два раза писать один и тот же код, а загнать его в функцию. и меня интересует оформление функции. ты написал ее содержание.
и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?
anarсhist
18.05.2007, 21:44
и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?
uses Printers;
procedure PrintTxt(Strings: TStrings);
var
f: TextFile;
i: word;
begin
AssignPrn(f);
try
Rewrite(f);
try
for i := 0 to Strings.Count - 1 do
writeln(f, Strings.Strings[i]);
finally
CloseFile(f);
end;
except
on EInOutError do
MessageDlg('oшибка печати', mtError, [mbOk], 0);
end;
end;
для мемо дальше делаешь: printtxt(memo1.lines)
я имел в виду немного не то. сам код ошибки должен откуда-то браться. и этот же самый код должен быть в процедуре save as. то есть я не хочу два раза писать один и тот же код, а загнать его в функцию. и меня интересует оформление функции. ты написал ее содержание.Я непонимаю что собственно тебе надо в этом вопросе, вот посмотри пример простейшего редактора тут: \Borland\Delphi7\Demos\Clx\BasicEd\*
и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?use QPrinters;
var prn : TPrinter;
prn := TPrinter.Create;
prn.BeginDoc;
prn.Canvas.TextOut( ... );
prn.EndDoc;
Да поможет тебе F1 ;)
Я непонимаю что собственно тебе надо в этом вопросе, вот посмотри пример простейшего редактора тут: \Borland\Delphi7\Demos\Clx\BasicEd\*
походу я сам немного запутался. мне нужно, чтобы были кнопки save и save as. в борландовском примере только вторая. а может save и не надо?
походу я сам немного запутался. мне нужно, чтобы были кнопки save и save as. в борландовском примере только вторая. а может save и не надо?Обязательно нужна, я когда пользуюсь редактором нажимаю её по 2 раза в минуту :D
При нажатии Save, проверь, если файл не существует, тогда передай управление обработчику SaveAs, иначе просто сохрани.
всем спасибо, все получилось, про горячие клавиши не забыл))
теперь буду с печатью разбираться...
ЗЫ я потом исходники выложу, а вы покритикуете. ок?
Fen-Omen
20.05.2007, 20:21
Хотелось бы услышать несколько советов по уменьшению размера программы (без Usp)...
Хотелось бы услышать несколько советов по уменьшению размера программы
аналогично
inSa(Ne)rd
20.05.2007, 21:29
уменьшение размера программы, написаной в делфе делается любым текстовым редактором, например notepad, для этого надо:
1) нопесать программу в делфе
2) открыть эту программу (.exe) в редакторе notepad
3) поставить курсор на место, с которого хотите провести обрезание
4) выделить все содержимое ниже курсора
5) нажать delete или backspace, удалив это содержимое
так можно уменьшать программы
PS. для слишком больших ехе, которые тяжело открыть через notepad - используйте wordpad или Microsoft(R) Word(R) 2007.
PS2
> (без Usp).
если не хочешь использовать Usp контровский пислолет 1.1 то бери калаш или эмку. с ней удобнее в хед попадать да и патронов в обойме больше
// кез пьян от передоза баклафена
Если хочешь не большой размер программы, то пиши ее с использованием KOL или с использованием WinApi
Вот на winapi и с ипользованием диалогов, у меня проги получились без p;fnbz по 18-20 килобайт
2 begin end Кстати, у меня както была задумка написать чтото типа конвертора простых форм.
т.е. чтобы можно было конвертить из VCL на чистый API. В принципе всё просто. Но потребует времяни.
podkashey
21.05.2007, 08:36
Если кто-то работал с FastReport, то отпишите в ПМ плиз. Есть вопросег.
В ближайшее время я собираюсь написать подробную статью по этой тематике
буду ждать с нетерпением))))
и распиши еще там все как можно подробнее плз=)
народ дайте ссылку где скачать delPHi .... и все необходимое...
ты лучшессылку дай а не опечатку исправляй (все равно спасиб ....
если очень попросите, могу залить на рапиду))
Качнуть дельфу... LOL *ROFL*
На борланде поищи. Вес гдето около 350 метров.
Блин это прям как на башорге:
<+Dr3d> Где скачать МСДН
<@sanniassin> в инторнете
<+Dr3d> Дайте точную ссылку, а то трафика жалко
AHTOLLlKA
22.05.2007, 12:25
смысл такой, нужно написать чекер акков на валид, конект идет через Https, если есть примеры то поделитесь
На борланде поищи. Вес гдето около 350 метров.
на борланде она случайно не триальная? :)
в любом случае, вот: (delphi 7)
часть 1 (http://rapidshare.com/files/32721538/del_7e.part1.rar.html) 101376 KB
часть 2 (http://rapidshare.com/files/32724050/del_7e.part2.rar.html) 21811 KB
в сумме 120 метров =)
пасс на оба архива http://netz.ru
когда-то давно нашел на каком-то сайте=)
Astral_Master
22.05.2007, 22:06
Ребята, такой, наверное, самый распространенный вопрос, ответ на который я никак не получу.. уверен, здесь толковых и знающих людей много, поможете..
В общем, суть проста.. моя программа использует нестандартные шрифты.. я реализовал на данном этапе только то, что встроил их в setup к программе, таким образом они добавляются в папку Windows\Fonts
Я знаю, что шрифты можно "зашивать" внутрь программы, таким образом установка шрифтов в систему не требуется, отображаются же они в программе корректно. Как это реализовать в делфи?
Подобный вопрос у меня о курсорах. Как использовать в моей программе курсоры, независящие от системы?.. то есть какие-нибудь свои.. надеюсь, что можно использовать не только cur, но и ani ??
Спасибо всем, кто откликнется!
Ник Ример
2 AHTOLLlKA - могу дасть дать исходник одного чекера. Челал ок номера кредиток. Всё написано на дельфе. Юзается библиотека виндовая, та через которую осел юзает SSL.
Правдо однопоточная система. Но переделать сможешь. Если что, то стучись в АСЮ.
----------
2 Astral_Master
1) Курсоры:
const
MyConst = 100;
.-.-.-.-.-.
Screen.Cursors[MyConst] := LoadCursor(hInstance,'MYCURSOR');
Screen.Cursor := MyConst;
MYCURSOR - имя курсора в ресурсах.
2) Вот пример работы со шрифтом:
// При создании фотрмы добавить новый шрифт, что хранится в ресурсах
procedure TForm1.FormCreate(Sender: TObject);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(hInstance, 'MY_FONT', Pchar('ANYOL1'));
Res.SavetoFile('MYFONT.ttf');
Res.Free;
AddFontResource(PChar('MYFONT.ttf'));
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;
// Испольхзование
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Font.Name := 'MYFONT';
end;
// Удаление
procedure TForm1.FormDestroy(Sender: TObject);
begin
RemoveFontResource(PChar("MYFONT.ttf"))
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;
Astral_Master
22.05.2007, 23:22
Спасибо большое, завтра попробую обязательно, а то уже в сон клонит..
У меня теперь вопрос другого плана.. а как пользоваться этими ресурсами? В смысле, как подключить их к юниту делфи и использовать после этого внутри.. знаю стандартную утилиту для создания ресурсного файла.. но, кажется, он не поддерживает закачку шрифтов.. и курсоры только cur.. да и более того, не более 256 цветов для любой картинки... нет ли инструмента помощнее?
Спасибо откликнувшемуся! Простите, что плюсы не ставлю, так репутация нулевая.. не за что мне ее повышать...
Ник Ример
2 Astral_Master
ДЫк тебе нужно подрубить к проекту файл с ресурсами.
Мож прям a форму дабавить {$R myres.res}
Ну файлы с ресурсами можешь создать с какомнить левом редакторе ресурсов.
К примеру можно заюзать от VC++
Или еще лучше - юзай RC файлы.
т.е. это файл в котором описываются ресурсы. потом его можно добавить к ресурсу.
Мож вырозился не так. Но суть такова. В этом файле прописываешь тип ресурса и его имя и файл от куда берутся данные.
К примеру чтобы грузануть звук. ТО файл выглядет так:
-.-.-.-.
110 WAVE sound1.wav
120 WAVE sound2.wav
-.-.-.-.
Для включения ширта юзай вот такую вот вешь:
MY_FONT ANYOL1 "Bauhs93.ttf"
Имя, Тип ресурса, файл где хранятся данные.
Вот так вот можно засунуть JPEG:
1 RCDATA "MyPic.jpg"
И тогда чтобы юзать его. Нужно:
uses jpeg;
-.-.-.-.-
procedure LoadJPEGfromEXE;
var
MyJPG: TJPEGImage; // Объект - JPEG
ResStream: TResourceStream; // Объект - поток ресурсов
begin
try
MyJPG := TJPEGImage.Create;
ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
MyJPG.LoadFromStream(ResStream);
Canvas.Draw(12, 12, MyJPG);
finally
MyJPG.Free;
ResStream.Free;
end;
end; // procedure
Вот пример статьи как юзать ресурсы:
У меня имеется приблизительно 36 маленьких растровых изображений, которые я хочу сохранить в файле и затем прилинковать его к exe. Как мне поместить их в res-файл?
Самый простой путь - создать файл с именем "BITMAPS.RC" и поместить в него список ваших .BMP-файлов:
BMAP1 BITMAP BMAP1.BMP
BMAP2 BITMAP BMAP2.BMP
CLOCK BITMAP CLOCK.BMP
DBLCK BITMAP DBLCK.BMP
DELOK BITMAP DELOK.BMP
LUPE BITMAP LUPE.BMP
OK BITMAP OK.BMP
TIMEEDIT BITMAP TIMEEDIT.BMP
Затем загрузите Resource Workshop (RW) и выберите пункт меню File|Project Open. В выпадающем списке "File Type" (тип файла) выберите RC-Resource Script и откройте файл, который вы только что создали. После того, как RW загрузит ваш файл, выберите пункт меню File|Project save as. Выберите объект RES-Resource из выпадающего списка "File Type" (тип файла). В поле редактирования "New File name" задайте имя нового файла, скажем, BITMAPS.RES. Нажмите OK. Теперь у вас есть файл ресурса. В вашем модуле Delphi добавьте после строки {$R *.RES} строку {$R BITMAPS.RES}. После компиляции вы получите exe-файл с скомпилированными ресурсами. Для получения доступа к ресурсам во время выполнения программы нужно сделать следующее:
myImage.Picture.Bitmap.Handle := LoadBitmap(HInstance, 'TIMEEDIT');
В качестве предостережения: убедитесь в том, что имена (в самой левой колонке) изображений в .RC файле написаны в верхнем регистре, при вызове также необходимо писать их имена в верхнем регистре.
Astral_Master
23.05.2007, 06:55
Спасибо огромное! Буду сегодня пробовать.. ну вы ребята и умные, я просто фигею :)
А может кто из вас знает, как работать с архивами из приложения? нередки случаи использования экзешником какого-нибудь ресурса, изначально запакованного в какой-нибудь, например, dat файл, который по сути является простым архивом. Бывают и не стандартные архивные, но тоже компресованные форматы.. как возможно и возможно ли использование таких ресурсов?
Ник Ример
Astral_Master
23.05.2007, 09:27
Пробовал найти Resource Workshop, занятие неблагодарное.. можно сказать, что успехом поиски не увенчались, или же не совсем. Я нашел программу версии 4.5, но она, кажися, 16-тиразрядная. При запуске под виндой получаю warning-сообщение типа: "Не найден файл D:\ResWorkshop\workshop.exe или один из его компонентов. Проверьте правильность бла-бла-бла..." с заголовком "Не удается запустить 16-разрядную программу для Wi" (наверное, для Windows?! :) ). Как заставить его работать, если у меня Win2k SP4?? Ставить Borland C++ ради одного малюсенького приложения как-то влом, да и к тому же я потерял где-то диск..
Хм.. я еще не задолбал вопросами? :)
P.S. я там на 8-й еще немножко написал.. :rolleyes:
http://www.mininova.org/search/?Delphi+7 - Так никто не искал?
Astral_Master
Текст в myres.rc
LORDPE RAR Lordpe.rar
DATA DAT Data.dat
Получаем myres.res
Выполняем brcc32.exe myres.rc
//brcc32.exe там же, где и Delphi.exe
rar:=TResourceStream.Create(Hinstance,'LORDPE','RA R');
x:=Dword(rar.Memory); //адрес ресурса в памяти
y:=int64(rar.Size); //размер ресурса
rar:=TResourceStream.Create(Hinstance,'DATA','DAT' );
x:=Dword(rar.Memory); //адрес ресурса в памяти
y:=int64(rar.Size); //размер ресурса
rar.SaveToFile('my.rar'); //можно использовать так
2 Astral_Master
C воркшопом есть один прикол. ТАм в настройках можно ставить 16 бит или 32
Astral_Master
23.05.2007, 11:24
Да как же попасть к этим настройкам, если программа не запускается-то? По экзешнику щелкаешь, да и ошибка сразу выскакивает, приложение не запускается.. как же это сделать-то? Давай, если удобно, свяжемся сегодня по icq? Я сейчас ухожу, но буду уже через несколько часов дома.. мой номер в профиле указан.
Ник Ример
Colidius
24.05.2007, 14:31
я так понял что вопросы по delphi задавать тут... если нет не обессудьте...
вообщем вопрос такой я перевожу число(dec) в 16-теричный формат(hex) и мне нужно передать это через UDP(Indy)
вот допустим перевожу число символов находящихся в мемо:
var len,hexlen:string;
lenmes:integer;
begin
lenmes:=length(Memo1.Lines.Text); hexlen:=Format('%0x',[lenmes]);
len:=#$+hexlen; IdUDPClient1.Send('192.168.0.255',4578,len);
здесь у меня не получается какретно отправить это всё hex`ом.
Я так понял len:=#$+hexlen; это чушь... без привязки #$ тож не получается, как быть подскажите? :confused:
Hellsp@wn
24.05.2007, 14:39
var
nexlen:dword;
len:string;
begin
nexlen:=length(text);
len:=IntToHex(nexlen,8) ?
Colidius
25.05.2007, 00:22
var
nexlen:dword;
len:string;
begin
nexlen:=length(text);
len:=IntToHex(nexlen,8) ?
нет, не прокатит оно типа как стринг передастся...
Joker-jar
25.05.2007, 12:07
Colidius, твой метод число тоже передает как строку. В каком конкретно формате нужно передать?
Hellsp@wn
25.05.2007, 13:22
Твой метод число тоже передает как строку. В каком конкретно формате нужно передать?
ну дык ты строку и посылал, что не так?
ты норм объяснить не можешь, что тебе надо))
Colidius
26.05.2007, 07:59
Colidius, твой метод число тоже передает как строку. В каком конкретно формате нужно передать?
вот знаешь в чём разника когда просто передаешь
11 и #$11 ? первый просто строчка а второй в 16-ричной системе, мне нужен второй вариант, блин. ну я не знаю как ещё объяснить попробуйте переслать кому непонятно и посмотрите снифером =)
вот знаешь в чём разника когда просто передаешь
11 и #$11 ? первый просто строчка а второй в 16-ричной системе, мне нужен второй вариант, блин. ну я не знаю как ещё объяснить попробуйте переслать кому непонятно и посмотрите снифером =)
Тогда так надо len:='#$'+IntToHex(nexlen,8);
Colidius
27.05.2007, 23:29
Тогда так надо len:='#$'+IntToHex(nexlen,8);
а вот и нет, так тоже не получится... предаёт как строку... только впереди приписывается #$!
эх, если бы было всё так просто я бы не задавал этот вопрос на форуме, я тож подумал что всё у меня будет в шоколаде, но вот не смог закончить прогу только из-за это шняги...
скажите, как определить при помощи делфи имя компьютера?
Joker-jar
29.05.2007, 10:42
Function ReadComputerName:string;
var
i:DWORD;
p:PChar;
begin
i:=255;
GetMem(p, i);
GetComputerName(p, i);
Result:=String(p);
FreeMem(p);
end;
Можно и без дополнительной переменной PChar сделать...
function CompName:string;
var nSize:Cardinal;
begin
nSize:=MAX_COMPUTERNAME_LENGTH+1;
SetLength(Result,nSize);
GetComputerName(@Result[1],nSize);
SetLength(Result,nSize);
end;
Как получить список процессов НО ТОЛЬКО С ИХ полным путем !? тоесть: не winlogon.exe а c:\windows\winlogon.exe ;) ???
Как получить список процессов НО ТОЛЬКО С ИХ полным путем !? тоесть: не winlogon.exe а c:\windows\winlogon.exe ;) ???
Причерчик есть здесь :
Прочитать список всех запущенных Exe и проверить, запущен ли Exe (http://www.delphisources.ru/pages/faq/base/is_exe_running.html)
Проверял, работает!
NetMan
Спасибо то что нужно =)
Помогите с потоками
Расскажите пожалуйста как создавать потоки с помощью TThread....
Что, как для чего и т.п. :)
И покажите например как сделать чтобы одновременно вывелось 2 сообщения ну или чтобы одновременно записались ...
Вообщем покажите как делать потоки.
Спасибо
Потоки (http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1125)
Joker-jar
01.06.2007, 01:15
Значит так в двух словах. Открываешь делфню - там проект пустой. Сохраняешь его в папку какую-нибудь. Потом выполняешь файл - создать - другое - объект потока. В классе написать можно что-нибудь типа TMyThread. Создастся новый модуль с методом Execute - то, что должно выполняться в потоке. Для теста можно всунуть что-нибудь, что должно занять пару секунд на выполнение, например winexec(какая-нибудь большая прога, sw_show). Этот модуль подключаешь к проекту и сохраняешь в ту же папку. В проекте делаешь кнопку, на ней событие, например такое
var
potok: TMyThread;
begin
potok := TMyThread.Create(true);
potok.Resume;
messagebox(handle,'хай','xaй',mb_iconerror or mb_ok);
end;
Ну и в итоге получается, что мессажбокс вылазит, не дожидаясь загрузки какой-нибудь большой программы.
З.Ы. Если поток что-то с интерфейсом проги мутит, нужно синхронизацию юзать
З.З.Ы. Я лично апишками потоки мучу, имхо удобней
Я для работы с потоком юзаю вот такие вот вещи:
var
thread_id:array[1..100] of dword; // типа 100 потоков можно будет юзать
..........
procedure mypotok(id:dword);stdcall;
begin
..............
end;
.......
for x:=1 to 100 do
begin
thread_id[x]:=CreateThread(nil, 0, @mypotok, pointer(x), 0, thread_id[x]); // запустить потоки
SuspendThread(thread_id[x]); // приостановить потоки
ResumeThread(thread_id[x]); // возобновить работу потоков
TerminateThread(thread_id[x],0); // прибить поток
end;
Всё На чистом апи. При запуске потока ему передается его номер (ID)
Помогите решить пару задачек плиз
две параболы на плоскости заданы коэфициэнтами своих уравнений. Выяснить, существуют для них точки пересечения, если есть, то найти их
Задав пользователю только один дополнительный вопрос с ответом "да" или "нет", определить, писать окончание "ым" или "ом" в мужском и среднем роде прилагательных. ( Например в словах новом, новым)
Задав пользователю только один дополнительный вопрос с ответом "да" или "нет", определить, писать окончание "ым" или "ом" в мужском и среднем роде прилагательных. ( Например в словах новом, новым)
Вопрос: Правильно будет написать "ым"?
ответ: да\нет =)
Помогите решить пару задачек плиз
Задав пользователю только один дополнительный вопрос с ответом "да" или "нет", определить, писать окончание "ым" или "ом" в мужском и среднем роде прилагательных. ( Например в словах новом, новым)
поясни условие =)
две параболы на плоскости заданы коэфициэнтами своих уравнений. Выяснить, существуют для них точки пересечения, если есть, то найти их
Решаем систему уравнений. все элементарно.
Хай всем! Я ламер ушастый, прошу не дергать за уши. Так это было вступление. Меня интересует, возможно ли отправка сообщений на мыло с помощью дельфина. Заранее благодарю. Кстати это мое первое сообщение. Можете поздравить.
Меня интересует, возможно ли отправка сообщений на мыло с помощью дельфина.
да
Я ламер ушастый, прошу не дергать за уши.
на ачате эльфы? откуда?
А можно не много подробней?
The_HuliGun
05.06.2007, 13:03
Отправку письма замутить можно, было бы время и желание.
Юзай компоненты IdSMTP с вкладки Indy Clients и idMessage с вкладки Indy Misc. Ставь кнопень, пиши код
procedure TForm1.Button1Click(Sender: TObject);
var
IdSMTP: TIdSMTP;
idMessage: TidMessage;
begin
idMessage := TIdMessage.Create(nil);
try
with idMessage do
begin
Recipients.Add.Address :='lol@mail.ru';{ кому отправляем }
Subject :='Привет с античата!';{Тема}
From.Address := 'Inter@yandex.ru';{ свое мыло }
Body.Text := 'Добрый день'+#13+
'Я знаю Delphi';
end;
IdSMTP := TIdSMTP.Create(nil);
with IdSMTP do
try
Host := 'smtp.ukrwest.net'; { сервер исходящей почты }
Connect;
Send(idMessage);
Disconnect;
finally
Free;
end;
finally
Free;
end;
end;
и будет тебе щастье!
З. Ы. Как видите так можно посылать анонимную почту. Удачи!
ух ты! спасибо большое! у меня еще один вопрос. Где можно скачать дополнительные компоненты?
Есть ли такая возможность использовать камандуную строку виндовса через дельфи?
Есть ли такая возможность использовать камандуную строку виндовса через дельфи?
Что под этим подразумевается? Выполнение команд?
Что под этим подразумевается? Выполнение команд?
да, как из cmd.exe
begin_end
05.06.2007, 18:10
Такая возможность есть. Если тебе нужно выполнить команду запуска программы по имени, то ты можешь сделать это, например, через функцию WinExec: WinExec('someappname.exe',0);
А если нужно не просто осуществить такую команду запуска, но и получить результат её выполнения (текст из консоли), то тут пригодится следующий код (https://forum.antichat.ru/showthread.php?p=295979#post295979).
Если выполнить команду из cmd.exe, то, например, так:
WinExec('cmd /c copy c:\1.txt c:\2.txt',SW_HIDE);
Ключ /c - выполнение указанной команды (строки) с последующим завершением.
GET,POST запросы
Скажи те плз, как в делфи выполнять гет, пост запросы к сайтам.....
Покажите плз пример програмки...
Какой компонент юзать?
И т.д. и т.п.
Самый развернутый ответ получит +10 =\
Использование Internet-функций Win32® API (http://www.delphikingdom.com/asp/viewitem.asp?catalogid=401)
[add]
Введение в WinInet (http://rsdn.ru/article/inet/wininet.xml) (примеры на C++, но на Delphi переделать не проблема)
The_HuliGun
06.06.2007, 17:51
Нужен компонент IdHTTP с вкладки Indy Clients например следующий код
procedure TForm1.Button1Click(Sender: TObject);
var sl : TStringList;
begin
sl := TStringList.Create;
sl.Add('id=111');
sl.Add('pass=***');
Memo1.Lines.Text:=IdHTTP1.Post('http://www.ya.ru',sl);
end;
выведет в мемо html код страницы, полученной пост запросом.
Если нужно сделать get запрос, используй метод IdHTTP1.Get
А я не парясь мучаюсь вот так вот:
procedure timeouts(wnd:hwnd;uMsg:UINT;id:UINT;dwtime:dword); stdcall;
begin
tout:=true;
closesocket(socket_id);
end;
function send_packs(ip:string; port:word; send_buf:string; var recv_buf:string):integer;
var
SockAddrIn: TSockAddrIn;
tmp_buf:array[1..1024] of char;
len:longint;
begin
result:=-10;
socket_id:=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if socket_id=WINDOWS.INVALID_HANDLE_VALUE then exit;
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_port := htons(port);
SockAddrIn.sin_addr.s_addr := inet_addr(Pansichar(ip));
result:=-20;
if Connect(socket_id, @SockAddrIn, SizeOf(SockAddrIn))<>0 then exit;
tout:=false;
windows.SetTimer(form1.Handle,1,30000,@timeouts);
send(socket_id,send_buf[1],length(send_buf),0);
recv_buf:='';
repeat
len:=recv(socket_id,tmp_buf,1024,0);
recv_buf:=recv_buf+copy(tmp_buf,1,len);
until len<=0;
killtimer(form1.Handle,1);
result:=-30;
if tout=true then exit;
result:=length(recv_buf);
closesocket(socket_id);
end;
Чисто делал код под многопаточную работу через прокси с использованием TIMEOUT
примет юзанья:
buf_send:=
'GET http://xz.org/? HTTP/1.0'#13#10+
'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*'#13#10+
'Referer: http://xz.ru/'#13#10+
'Accept-Language: ru-ru'#13#10+
'Proxy-Connection: Keep-Alive'#13#10+
'User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; SV1; MRA 4.8 (build 01705))'#13#10+
'Host: xz.org'#13#10#13#10;
case send_packs(proxy[x].ip,proxy[x].port,buf_send,buf_recv) of
-10:begin
form1.memo2.Lines.Add('Ошибка создания сокета');
goto m1;
end;
-20:begin
form1.memo2.Lines.Add(proxy[x].ip+' > дохлый');
goto m1;
end;
-30:begin
form1.memo2.Lines.Add(proxy[x].ip+' > TIME OUT');
goto m1;
end;
0:begin
form1.Memo2.Lines.Add(proxy[x].ip+' > Ошибка прокси');
goto m1;
end;
end;
НУ и как всегд не надо забывать перед выполнением этого делать:
if WSAStartup($202, WSAData)=-1 then
begin
memo2.Lines.Add('Ошибка WSAStarup');
exit;
end;
Вся система держится на базе winsock2.
Или есть вот пример юзанья через WinInet с использованием SSL. Хотя его можно отрубить!
function zapros(login,pass,proxy_ip:string;proxy_port:word) :string;
var
h_open:HINTERNET;
h_connect:HINTERNET;
h_request:HINTERNET;
mas:array of char;
s,outs:string;
l:integer;
begin
result:='- InternetOpen';
if proxy_ip<>'' then
h_open:=InternetOpen('Mozilla/5.0 (compatible; MSIE 6.0; SV1; MRA 4.8 (build 01705))',INTERNET_OPEN_TYPE_PROXY,Pansichar(proxy_ ip+':'+inttostr(proxy_port)),nil,0)
else
h_open:=InternetOpen('Mozilla/5.0 (compatible; MSIE 6.0; SV1; MRA 4.8 (build 01705))',INTERNET_OPEN_TYPE_DIRECT,nil,nil,0);
if h_open=nil then exit;
result:='- InternetConnect';
h_connect:=InternetConnect(h_open,'hz.ru',INTERNET _DEFAULT_HTTPS_PORT,nil,nil,INTERNET_SERVICE_HTTP, 0,0);
if h_connect=nil then exit;
setlength(mas,1024);
lstrcpy(Pansichar(mas),'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*');
result:='- HttpOpenRequests';
h_request:=HttpOpenRequest(h_connect,'POST','/','HTTP/1.0','hz.ru',@mas,INTERNET_FLAG_SECURE+INTERNET_FL AG_KEEP_CONNECTION,0);
if h_request=nil then exit;
randomize;
s:='login='+login+'pass='+pass;
lstrcpy(Pansichar(mas),Pansichar(s));
HttpSendRequest(h_request,'Content-Type: application/x-www-form-urlencoded', 47,mas,length(s));
setlength(mas,1024);
outs:='';
repeat
InternetReadFile(h_request,mas,1024,cardinal(l));
s:=copy(Pchar(mas),1,l);
outs:=outs+s;
until l<=0;
result:='- PASSWORD ERROR';
if pos('Вы ввели неправильный пароль.',outs)<>0 then exit;
result:='+ ОК';
wininet.InternetCloseHandle(h_open);
end;
xaker-boss
06.06.2007, 23:06
Люди извеняюсь конечно за глупый вопрос, но всёже:
http://www.forum-mp3.org/DynamicSkinForm.v7.40.Full.Source.Delphi.BCB.ccrun .446521.rar
Люди потскажите ктонебуть как установить этот кампонент? если можно поподробние на Delphi 2006.
Вить там файла .bpl та нету.
http://www.forum-mp3.org/1.gif
это компонент в исходниках. поэтому его ставить нужно через DPK файлы.
Открываешь в дельфе DPK файл соответствующий твоей версии дельфы.
Появится окно установки пакета. Там нажмешь на кнопку компилировать.
А потом на кнопку Установить. После чего появится messagebox со списком установленых компонентов.
Советую прежде чем это сделать, скопировать все фалы находящиеся в архиве в папке ssdsf740 в папку Delphi\Lib и из неё уже устанавливать. Т.к. если установить из временной папки, то потом частенько появляются глюки.
xaker-boss
06.06.2007, 23:59
slesh уменя некакое окно установки невышло, просто какбы показан код:
package skinpackD2006;
{$R *.res}
{$R 'spreg.dcr'}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD OFF}
requires
rtl,
vcl,
vcljpg,
designide,
vclactnband,
vclx;
contains
SPUtils in 'SPUtils.pas',
SkinBoxCtrls in 'SkinBoxCtrls.pas',
SkinCtrls in 'SkinCtrls.pas',
SkinData in 'SkinData.pas',
SkinGrids in 'SkinGrids.pas',
SkinHint in 'SkinHint.pas',
SkinMenus in 'SkinMenus.pas',
SkinTabs in 'SkinTabs.pas',
SPEffBmp in 'SPEffBmp.pas',
spMessages in 'spMessages.pas',
spreg in 'spreg.pas',
spSkinUnZip in 'spSkinUnZip.pas',
spSkinZip in 'spSkinZip.pas',
spTrayIcon in 'spTrayIcon.pas',
DynamicSkinForm in 'DynamicSkinForm.pas',
spSkinShellCtrls in 'spSkinShellCtrls.pas',
spfilectrl in 'spfilectrl.pas',
spzlib in 'spzlib.pas',
spNBPagesEditor in 'spNBPagesEditor.pas' {spNBPagesForm},
spcalendar in 'spcalendar.pas',
spColorCtrls in 'spColorCtrls.pas',
spDialogs in 'spDialogs.pas',
spzlibcompress in 'spzlibcompress.pas',
spconst in 'spconst.pas',
spRootEdit in 'spRootEdit.pas' {spRootPathEditDlg},
SkinPrinter in 'SkinPrinter.pas',
spbuttongroup in 'spbuttongroup.pas',
spcategorybuttons in 'spcategorybuttons.pas';
end.
не знаю может уже задавали такой вопрос...но все же...где можно скачать Делфи (желательно последнюю версию)...сори если че не так...
begin_end
07.06.2007, 03:10
Такой вопрос задавался тут не один раз!
Что мне дал гугл:
1) http://www.codegear.com/downloads/free/delphi
2) Delphi 2007 Lite for Win32:
http://rapidshare.com/files/26500700/Lite.rar
http://rapidshare.com/files/26501160/Lite.r00
http://rapidshare.com/files/26501592/Lite.r01
http://rapidshare.com/files/26502227/Lite.r02
http://rapidshare.com/files/26503377/Lite.r03
http://rapidshare.com/files/26508525/Lite.r04
http://rapidshare.com/files/26508806/Lite.r05
А ещё смотрим темы: 1 (https://forum.antichat.ru/thread41545.html), 2 (https://forum.antichat.ru/thread14644-%E4%E5%EB%F4%E8+%F1%EA%E0%F7%E0%F2%FC.html), 3 (https://forum.antichat.ru/thread41131-Delphi+%F1%EA%E0%F7%E0%F2%FC.html).
2 motorola3653 Не могу сказать как именно действовать, т.к. сам приверженец 7-й дельфы.
Если так не прокатило, то попробуй В Меню "Компонент" (если оно у тебя есть)
Выбрать пункт "Установить компонент" и там ввести имя файла пакета.
xaker-boss
13.06.2007, 21:46
Люди такой вопрос, что такое TIdAttachment ето наврено приклепление файлов к письму? потскажите поподробней как его установить плиз.Скажите куда тыкнуть на Delphi 2006
Как мне уже сообщили что он идёт радной в делфи...Тока вот как его установить и где там его нарыть ненаю.
Fen-Omen
13.06.2007, 22:21
Люди такой вопрос, что такое TIdAttachment ето наврено приклепление файлов к письму?
Угу, используй объект класса TidAttachment если те нужно отправить аттачмент к письму в виде файла. Для этого применяется следующий конструктор:
constructor Create(Collection: TIdMessageParts; const AFileName: TFileName = ''); reintroduce;
где Collection - объект класса TIdMessageParts, представляющее собой коллекцию приложений к электронному письму.
Контстанта AFileName типа TFileName - представляет собой обычную текстовую строку с указанием правильного пути к файлу, например "C:\file.zip", по умолчанию имеет значение ''.
реализация кнопки Undo в текстовом редакторе.
Memo1.Perform(EM_UNDO, 0, 0); // сама кнопка
а как сделать проверку, можно ли вообще сделать undo, например, если открыт новый документ, то
Form1.Undo.Enabled:=False;
сам искал, не нашел =\
Piflit > глянь справку о сообщении EM_CANUNDO в MSDN.
procedure TMainForm.MainMemoChange(Sender: TObject);
begin
if MainMemo.Perform(EM_CANUNDO, 0, 0) then //тут надо выполнить сравнение?
TMainForm.MUndo.Enabled:=True;
end;
пришет ошибку
[Error] MainUnit.pas(166): Type of expression must be BOOLEAN
[Error] MainUnit.pas(167): Method identifier expected
[Fatal Error] Project1.dpr(6): Could not compile used unit 'MainUnit.pas'
TMainForm.MUndo.Enabled:=false;
x:=//то с чем ты сравниваешь
if (MainMemo.Perform(// не знаю что тут у тебя за параметры) ) = x then // сдесь проверка на сходство ,если надо не равно, то тогда вмсето = пиши <>
TMainForm.MUndo.Enabled:=True;
end;
если не получиться стукани в асику.
Joker-jar
14.06.2007, 17:37
Посылай Em_canundo и смотри результат.
Короче:
Memo1.Perform(EM_CANUNDO, 0, 0) > 0
В этом случае можно сделать отмену
все получилось, спасибо iNVLose
ЗЫ как допишу, блокнот, выложу, буду ждать пожеланий и предложений, что добавить, пок реализую стандартный набор notepad'a ))
Ещё надо юзать сообщение EM_EMPTYUNDOBUFFER для обнуления флага отмены.
Вот накатал примерчик.
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Perform(EM_UNDO, 0, 0);
Memo1.Perform(EM_EMPTYUNDOBUFFER, 0, 0);
Button1.Enabled:=Memo1.Perform(EM_CANUNDO, 0, 0)<>0;
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
Button1.Enabled:=Memo1.Perform(EM_CANUNDO, 0, 0)<>0;
end;
Возможно ли из дельфи загрузить фаил тока не ехе, а batб для ехе я зделал, можно както переделать под .bat пробывад исправлять расширение неоткрывает.
вот код:
function CreateProcessAndWait(AModuleName: string): boolean;
var si: STARTUPINFO;
pi: PROCESS_INFORMATION;
begin
Result := false;
ZeroMemory(@si, sizeof(si));
si.cb := sizeof(si);
ZeroMemory(@pi, sizeof(pi));
SetCurrentDir(ExtractFileDir(AModuleName));
if not CreateProcess(nil,
PChar(AModuleName),
nil,
nil,
FALSE,
0,
nil,
nil,
si,
pi) then
begin
Exit;
end;
WaitForInputIdle(pi.hProcess, INFINITE);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
Result := true;
end;
procedure TForm1.Timer3Timer(Sender: TObject);
begin
CreateProcessAndWait('C:\X-Hider\compile.bat');
timer3.Enabled:=false;
end;
Или, если кто знает подскажите как консольный компилятор в дельфи зовется, я както юзал его год примерно назад но забыл как называется лежит в папке BIN и называется примерно dcc32.exe.
GlobaL > Попробуй так:
CreateProcessAndWait('cmd.exe /c C:\X-Hider\compile.bat');
> Возможно ли из дельфи загрузить фаил тока не ехе, а batб для ехе я зделал,
а уроки зделал уже?
WinExec( "путь_к_файлу\1.bat", SW_SHOW );
> называется примерно dcc32.exe.
лежит примерно в \Program Files\
а уроки зделал уже?
WinExec( "путь_к_файлу\1.bat", SW_SHOW );
аты сам уроки зделал? я юзаю другую функцию CreateProcessAndWait а не WinExec, так как с ней мозгоепства меньше.
По русскому ставлю 2 тебе.
> Безпалевный
> криптованные
> НЕПАЛЯТСЯ
По кодингу 2 так же.
> CreateProcessAndWait а не WinExec, так как с ней мозгоепства меньше.
мозгоепство это когда человек считает что .bat соответствует запущеному процессу и пытается его "createprocess()"
скажи честно, ты употребляешь делфи, borland билдер и другие опасные наркотики?
признаю я наркоман, но он и через WinExec непрет.
Вот моя первая более или менее осмысленная прога на дельфях (блокнот) :) Хотелось бы услышать ваши пожелания/предложения, что добавить/улучшить. Единственное, что у меня не получилось сделать, это нормальное появление/скрытие StatusBar без возникновения полос прокрутки, как их устранить? Всем ответившим заранее спасибо))
http://slil.ru/24522152
iNVLose, спасибо, приятно слышать такие слова))
UNDO - я думал уберется 1символ убралось все)
а как должна работать undo?...
в принципе я пользуюсь ctrl+z и мне все равно что нет кнопки сверху Как другим не знаю)позже я так понимаю появится=)
я так понимаю, кнопка undo, а не пункт в меню. так?
полос прокрутки при изменения status bar не заметил
когда убираешь статус бар то внизу толстая полоса серая Возможно стоит сделать тоньше
то, о чем говоришь ты, у меня было в предпоследней компиляции. я это убрал, но теперь возникают полосы прокрутки... хм... может все дело в разных машинах?
Alexander Shepard
17.06.2007, 09:21
Люди , может подскажете , как в конфиге юзера в квипе расшифровать строки
(Custom1,Custom2) , которые обозначают пасс ?
используй ф-ию делфи DecryptICQPassThatPresentInQIPConfig( 0 );
Alexander Shepard
17.06.2007, 11:42
используй ф-ию делфи DecryptICQPassThatPresentInQIPConfig( 0 );
эээ , а поподробней можна ? :D
напечатал один символ или много нажал UNDO последний убрался
открой обычный блокнот и проверь=)
виндовский блокнот работает как у меня) может удаляться не последняя набранная буква, а весь набранный текст. смысл делать undo для одного символа? backspace есть... :rolleyes:
ЗЫ каким компонентом лучше пользоваться для отправки почты?
Piflit > idSMTP (Отправка почты средствами Delphi (http://megalib.com/books/314/how_to_send_mail.htm))
2 Piflit На мой взгляд лучше юзать для отправки почты обычные сокеты. Имхо меньше размер :) Ктомуже мож даже анонимно слать :)
2 Piflit На мой взгляд лучше юзать для отправки почты обычные сокеты. Имхо меньше размер :) Ктомуже мож даже анонимно слать :)
спасибо, но я уже заюзал idSMTP =\
помогите с кодом
нада чтобы прога искала сначала один фаил по нажатии на кнопку, потом другой и а если она ненайдет первый фаил то должно выводиться сообщение что фаил ненайден.
procedure TForm1.Button4Click(Sender: TObject);
var
sr:TSearchRec;
Result1, Result2 :word;
begin
ChDir('C:\x-hider');
Result1 := FindFirst ('System.dcu',faAnyFile,sr);
if result1=0 then
Begin
Result1:=FindNext (sr);
End;
if result1<>0 then
begin
showmessage('asdvxcdra')
end;
if Result1=0 then
begin
ChDir('C:\x-hider');
Result2 := FindFirst ('Windows.dcu',faAnyFile,sr);
if result2<>0 then
Begin
Result2:=FindNext (sr);
End;
end;
if result2<>0 then
begin
showmessage('asdvxcdra')
end;
end;
сам с поиском работаю впервые,и вообще эту функцию никогда неиспользовал, если есть способ попроше реализовать мою идею, плиз сообшите.
GlobaL >
var SR:TSearchRec;
begin
ChDir('C:\x-hider');
if FindFirst('System.dcu',faAnyFile,sr)<>0 then
ShowMessage('aaa');
if FindFirst('Windows.dcu',faAnyFile,sr)<>0 then
ShowMessage('aaa');
FindClose(SR);
end;
GlobaL >
var SR:TSearchRec;
begin
ChDir('C:\x-hider');
if FindFirst('System.dcu',faAnyFile,sr)<>0 then
ShowMessage('aaa');
if FindFirst('Windows.dcu',faAnyFile,sr)<>0 then
ShowMessage('aaa');
FindClose(SR);
end;
пасип ща попробую
GlobaL
Тут все проще можно =)
function FileExists(const FileName :string) :Boolean;
var
Code :DWORD;
begin
Code := GetFileAttributes(PChar(FileName));
Result := (Code <> DWORD(-1)) and (Code and FILE_ATTRIBUTE_DIRECTORY = 0);
end;
-----------------------------------------------
if FileExists('C:\test.txt') then MessageBox(0,'Файл найден',0,0) else MessageBox(0,'Файл не найден',0,0);
Народ.. такая проблема... надо чтобы программа загружала файл из интернета и причем это не показывала. много функций пересмотрел - непонимаю как заюзать.. кто поможет составит функцию как программой загрузить файл из интернета - получит плюсик и огромадный ресмпект))
Как загрузить посмотри здесь (http://delphi-jedi.org/apilibrary.html)
HTML HELP :: Interface for the Microsoft HTML Help API, v 1.1 HtmlHelp.zip (ftp://ftp.delphi-jedi.org/api/HtmlHelp.zip)
Ситуация такая.
Пишу я одну прогу, которая в процессе своей работы обращается к веб-сайту..
Точнее , не знаю, как это правильно сказать, к форме что-ли.. где нужно ввести определённый набор символов...т.е. логин и пароль).. Как программно вбить туда эти данные... я думал что нужно что-то типа имитации нажатия клавиш (keybd_event), но так и не понял как оно работает..
Заранее спасибо за понимание)
Allbit если ты имеешь в виду то, что я думаю, то надо просто составить запрос так:
http://www.site.ru/index.php?login=qwerty&password=pass
Вопрос:
Где скачать?
Учебник с примерами обезательно примеры (я начинающий)
И сам компилер и что там
дельфи:
http://forum.antichat.ru/showpost.php?p=369618&postcount=71
Учебник с примерами обезательно примеры (я начинающий)
Жду срочно! :)
Да,мне нужно именно это, но у меня есть ссылка вида https://www.site.com/members/bin/hist.mpl?index
При запуске, появляется окно , где нужно залочиться..
если просто приписать к этому https://www.site.com/members/bin/hist.mpl?index?login=qwerty&password=pass то это не катит.. наверное я туплю, и всё же.. ) как сделать правильно?
если хочешь, можешь кинуть ссылку в пм. я посмотрю
GET- и POST-запросы можно делать с помощью WinInet.
как сделать такую штуку в делфи... Пароль на папку... чтобы при попытке открыть эту папку вылетало окошко с просьбой ввести пароль... при 3 неверно введенных паролей должна произойти перезагрузка...?????
На дельфи нельзя. Только если намутить чтонить с folder.htt и прочим. Но это защита от дураков только.
Лучший выход - запароленный виртуальный диск
ЗЫ. Это вопрос не по дельфи
Подскажите как по имени процесса получить его Pid :)
Сделать снапшот процессов через CreateToolHelp32Snapshot и перебрать процессы, сравнивая имена образов.
ЗЫ. этот вопрос тоже не по дельфи, а по WinAPI
Никто не читает 1 пост топика и не хочет/не может разделять понятия вопроса по синтаксису языка и вопроса по реализации. Так вот эта тема для вопросов по синтаксису! Не надо тут спрашивать как реализовать какой-либо алгоритм на дельфи и уж тем более про винапи и прочие языконезависимые конструкции.
Вопрос:
Где скачать?
Учебник с примерами обезательно примеры (я начинающий)
И сам компилер и что там
www.delphiWorld.narod.ru -DelphiWorld
www.drkb.ru - Delphi Russian Knowleage Base
Где скачать не знаю... но советую:
А.Я. Архангельский Программирование в Delphi 7
И. Ю. БАЖЕНОВА Delphi 7 САМОУЧИТЕЛЬ ПРОГРАММИСТА
Культин Н. Б. Основы программирования в Delphi 7
С. И. Бобровский. Delphi 7. Учебный курс
Шпак Ю. А. Delphi 7 на примерах
И конечно же Библию Delphi...
И качай Delphi 7 (моя любимая версия ;) ) borland.com
(совет: изучай лучше C# ;) )
> Сообщение от zl0y
Подскажите как по имени процесса получить его Pid
у нескольких процессов может быть одинаковое "имя", получить PID нескольких процессов нельзя.
MagNomeTik
28.06.2007, 11:56
Сообщение от zl0y
Подскажите как по имени процесса получить его Pid
Вот тебе код
function GetProcessId(pName: PChar): dword;
var
Snap: dword;
Process: TPROCESSENTRY32;
begin
Result := 0;
Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if Snap <> INVALID_HANDLE_VALUE then
begin
Process.dwSize := SizeOf(TPROCESSENTRY32);
if Process32First(Snap, Process) then
repeat
if lstrcmpi(Process.szExeFile, pName) = 0 then
begin
Result := Process.th32ProcessID;
CloseHandle(Snap);
Exit;
end;
until not Process32Next(Snap, Process);
Result := 0;
CloseHandle(Snap);
end;
end;
Вводишь имя, получаешь Pid...
не надо пиздить! возможно существование нескольких процессов с одним именем
я отвечаю на конкретный вопрос. он некорректен.
Объявляем тип:
TPIDs = array of DWORD;
function GetProcessIDs(ProcessName:PChar):TPIDs;
var
ResultLen,hSnapshot:DWORD;
PE:TPROCESSENTRY32;
begin
Result:=nil;
hSnapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPPRO CESS,0);
if hSnapshot=INVALID_HANDLE_VALUE then exit;
PE.dwSize:=SizeOf(TPROCESSENTRY32);
if not Process32First(hSnapshot,PE) then exit;
ResultLen:=0;
repeat
if lstrcmpi(PE.szExeFile,ProcessName)=0 then
begin
inc(ResultLen);
SetLength(Result,ResultLen);
Result[ResultLen-1]:=PE.th32ProcessID;
end;
until not Process32Next(hSnapshot,PE);
CloseHandle(hSnapshot);
end;
Юзать:
...........
var i:integer;
PIDs:TPIDs;
begin
PIDs:=GetProcessIDs('svchost.exe');
if PIDs=nil then exit;
lb.Items.Clear;
for i:=0 to Length(PIDs)-1 do
lb.Items.Add(IntToStr(PIDs[i]));
end;
....................
Народ подскажите плиз как можно организовать перехват событий мышки в любом приложении?
kuka Использование HOOK в Дельфи (http://articles.org.ru/cfaq/index.php?qid=2257)
function SetWindowsHookEx(idHook: integer; lpfn: TFNHookProc;
hmod: HINST; dwThreadID: DWORD): HHOOK; stdcall;
idHook: описывает тип устанавливаемой ловушки. Данный параметр может принимать одно из следующих значений:
Константа Описание
WH_CALLWNDPROC Фильтр процедуры окна. Функция-фильтр ловушки вызывается, когда процедуре окна посылается сообщение. Windows вызывает этот хук при каждом вызове функции SendMessage.
WH_CALLWNDPROCRET Функция-фильтр, контролирующая сообщения после их обработки процедурой окна приемника.
WH_CBT В литературе встречаются следующие названия для этого типа фильтров: "тренировочный" или "обучающий". Данная ловушка вызывается перед обработкой большинства сообщений окон, мыши и клавиатуры.
WH_DEBUG Функция-фильтр, предназначенная для отладки. Функция-фильтр ловушки вызывается перед любой другой ловушкой Windows. Удобный инструмент для отладки и контроля ловушек.
WH_GETMESSAGE Функция-фильтр обработки сообщений. Функция-фильтр ловушки вызывается всегда, когда из очереди приложения считывается любое сообщение.
WH_HARDWARE Функция-фильтр, обрабатывающая сообщения оборудования. Функция-фильтр ловушки вызывается, когда из очереди приложения считывается сообщение оборудования.
WH_JOURNALPLAYBACK Функция-фильтр вызывается, когда из очереди системы считывается любое сообщение. Используется для вставки в очередь системных событий.
WH_JOURNALRECORD Функция-фильтр вызывается, когда из очереди системы запрашивается какое-либо событие. Используется для регистрации системных событий.
WH_KEYBOARD Функция-фильтр "обработки" клавиатуры. Наверное, наиболее часто используемый тип ловушки. Функция-фильтр ловушки вызывается, когда из очереди приложения считывается сообщения wm_KeyDown или wm_KeyUp.
WH_KEYBOARD_LL Низкоуровневый фильтр клавиатуры.
WH_MOUSE Функция-фильтр, обрабатывающая сообщения мыши. Функция-фильтр ловушки вызывается, когда из очереди приложения считывается сообщение мыши.
WH_MOUSE_LL Низкоуровневый фильтр мыши.
WH_MSGFILTER Функция-фильтр специального сообщения. Функция-фильтр ловушки вызывается, когда сообщение должно быть обработано диалоговым окном приложения, меню или окном приложения.
WH_SHELL Фильтр приложения оболочки. Функция-фильтр ловушки вызывается, когда создаются и разрушаются окна верхнего уровня или когда приложению-оболочке требуется стать активным.
Что бы упредить шквал писем в мой адрес, скажу сразу, что каждый, из вышеперечисленных, типов имеет свои особенности, о которых каждый может прочитать в SDK, MSDN или же найти их описание в Internet-e.
lpfn : это адрес функции-фильтра, которая является функцией обратного вызова. Функция-фильтр имеет тип TFNHookProc, определение которого выглядит следующим образом:
TFNHookProc = function (code: Integer; wparam: WPARAM;
lparam: LPARAM): LRESULT stdcall;
Значение каждого из параметров функции-фильтра ловушки изменяется в зависимости от типа устанавливаемой ловушки. За более подробными разъяснениями значений параметров обращайтесь к справке по Win32 API.
hmod
данный параметр должен иметь значение hInstance в EXE или DLL-файлах, в которых содержится функция-фильтр ловушки (напомню, что это функция обратного вызова). Если речь идёт о глобальных ловушках, то данный параметр может принимать только дескриптор DLL, из которой устанавливается ловушка. Причина очевидна - EXE-файл не может быть отображён на АП другого процесса, тогда как DLL-фалы специально созданы для этого. Подчеркну это обстоятельство ещё раз: глобальные ловушки могут располагаться только в DLL, но никак не в EXE файлах !
dwThreadID
данный параметр идентифицирует поток, с которым будет связана ловушка. Мы ведём речь о глобальных ловушках, поэтому данный параметр будет всегда равен 0, что означает, что ловушка будет связана со всеми потоками в системе.
Возвращаемое значение
функция SetWindowsHookEx возвращает дескриптор установленной ловушки, именно этот дескриптор нам и надо будет сделать доступным ВСЕМ экземплярам отображаемой DLL. Как это сделать я расскажу после небольшого примера, показывающего на практике необходимость сохранять дескриптор ловушки для того, что бы суметь вызвать предыдущую ловушку в цепочке.
Замечание:
при установке двух ловушек разного типа, система создаст две цепочки ловушек. Т.е. каждому типу ловушки соответствует своя цепочка. Так при установке ловушки типа WH_MOUSE и WH_KEYBOARD обе эти ловушки будут находиться в разных цепочках и, соответственно, будут обрабатываться независимо друг от друга.
Для удаления функции-фильтра из очереди необходимо вызвать функцию UnhookWindowsHookEx. Данная функция принимает дескриптор ловушки, полученный функцией SetWindowsHookEx. Если удаление не удалось, то функция возвращает ноль, иначе не нулевое значение. В дальнейшем, под выражением "снять ловушку" будем подразумевать удаление функции-фильтра.
Люди, такой трабл, надо отправить мыло с компа через дельфи, юзаю инди библиотеку, вроде все прально, и примеры качал, а хер, всегда сокет еррор и все. Может есть еще какие-нибудь способы отправить, не через смтп. Ни у кого такого не было?
Все мля перепробовал, все компоненты, готовые исходники, уже скомпиленные проги, ниче не помогает, все сокет еррор и все, ну не коннектиться к серваку... может кто писал для себя, поделитесь....
держи... своего рода трой... написан на api + используется комп. coban2k'a - RASDescrypt
мыло шлет! ))
http://slil.ru/24579115
сорцы...
Рульная кстати вещь, пасиб W!z@rD ;)
Delphi07
02.07.2007, 20:35
Помогите плиз. Как из Edit1, в котором находиться URL файла, допустим http://site.ru/file.exe достать текст имя файла, в данном случае file.exe , и прописать в Edit2.
Delphi07, читай здесь Parsing URI's (http://www.howtodothings.com/computers/a1149-parsing-uris.html).
Delphi-X
06.07.2007, 14:03
а как сделать например если со страницы мне приходит
<h>tra tra tra</h>
а в проге вылазило бы окошко. к примеру: вы ввели неверные данные!
Ну это по-моему чисто со строкой надо работать(вырезаешь, проверяешь), прописывать какие комбинации неверны, а лучше, если ты скажем пишешь что-то типа хоумсайта то забить готовые теги, и чтоб они выдавались тебе тогда когда начинаешь писать. и вообще как понять со страницы приходят? ты написал прогу, которая тебе выдает исходник страницы чтоль?
W!z@rD, ответь на вопрос в аське плз!
а как сделать например если со страницы мне приходит
<h>tra tra tra</h>
а в проге вылазило бы окошко. к примеру: вы ввели неверные данные!
для начала неплохо бы было четко описать что тебе нужно, если я правильно понял тебе нужен обычный парсер строк.
Каким образом можно изменить код программы или его так сделать, чтобы в диспетчере задач прога (в запущенном виде) не высвечивалась? :confused:
p.s.если можно напишите поподробней плиз.
Каким образом можно изменить код программы или его так сделать, чтобы в диспетчере задач прога (в запущенном виде) не высвечивалась? :confused:
p.s.если можно напишите поподробней плиз.
wasm.ru
и качай руткит aphex'a... все вопросы отпадут!
и качай руткит aphex'a... все вопросы отпадут!
Дай плиз ссылку,и про прогу я спрашивал на делфи.
Каким образом можно изменить код программы или его так сделать, чтобы в диспетчере задач прога (в запущенном виде) не высвечивалась?
p.s.если можно напишите поподробней плиз.
Инжект или драйвер. По первому варианту исходников очень много, про второй можешь прочитать тут: http://bp-team.com/t05.txt, не дельфи конечно, зато написано нормально.
Тоесть на дельфи тоже можно реализовать такую фишку?
Тоесть на дельфи тоже можно реализовать такую фишку?
да, но писать драйвера на дельфи изврат.
Как сделать ссылку на форме, и переход с одной формы на другую?
infernal-team
07.07.2007, 19:29
Как зделать чтобы окно не сворачивалось и не разворачивалось ?
>>Как зделать чтобы окно не сворачивалось и не разворачивалось ?
можешь сам обрабатывать сообщения посылаемые твоему окну.
procedure TForm1.WMGetSysCommand(var message : TMessage);
message WM_SYSCOMMAND;
begin
if (message.wParam = SC_MINIMIZE) then
begin
...
end
infernal-team
07.07.2007, 20:42
Неполучаеться чето =( ошибка !!!
infernal-team
07.07.2007, 21:32
Procedure TForm1.WMGetSysCommand(var Message : TMessage);
Begin
IF (Message.wParam = SC_MINIMIZE) then ShowMessage('Сейчас окно будет свернуто');
Inherited;
End;
это пробывал ошибка пишет =( в чем проблемма?
Попрошайка
07.07.2007, 22:50
Procedure TForm1.WMGetSysCommand(var Message : TMessage);
Begin
IF (Message.wParam = SC_MINIMIZE) then ShowMessage('Сейчас окно будет свернуто');
Inherited;
End;
это пробывал ошибка пишет =( в чем проблемма?
Когда пишет? Ты вот это сделать не забыл ? :
type
TForm1 = class(TForm)
private
Procedure WMGetSysCommand(var Message : TMessage); message WM_SYSCOMMAND;
{ Private declarations }
public
{ Public declarations }
end;
Попрошайка
07.07.2007, 23:03
Как сделать ссылку на форме, и переход с одной формы на другую?
Что значит ссылку? К примеру кинь на форму Label и обрабатывай событие OnClick .
Дело в том что я незнаю как может кинеш код.
Попрошайка
07.07.2007, 23:34
Дело в том что я незнаю как может кинеш код.
Как вариант можно так :
procedure TForm1.Label1Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;
end;
Для придания Label'у вида URL выстави стиль у шрифта
(в инспекторе объектов) [fsUnderline] ну и цвет поменяй.
Создаеш Две формы. На первую кидаеш компонент Label1. Кликаеш на него Два Раза. И пишеш код вызова Второй формы: Form2.Show
Вот пример::
procedure TForm1.Label1Click(Sender: TObject);
begin
Form2.Show;
end;
infernal-team
07.07.2007, 23:35
Если чел просит видимо нужно выложит =), че глупые вопросы задаеш?!
infernal-team
07.07.2007, 23:44
Попрошайка кароче все сделал правильно, но эта функция выдает предупреждение на сворачивание а мне нужно чтобы свернуть и развернуть не функцианировали.
infernal-team
07.07.2007, 23:50
Что нужно:
1. Сделать на форме ссылку
2. Сделать нефункционирующими и прозрачными кнопки свернуть и развернуть
3. Сделать переход на другую форму через бутон
Пока на этом все.
Попрошайка
08.07.2007, 00:22
Что нужно:
1. Сделать на форме ссылку
2. Сделать нефункционирующими и прозрачными кнопки свернуть и развернуть
3. Сделать переход на другую форму через бутон
Пока на этом все.
Мда... ;)
Вот дерзай, только какой смысл обрабатывать сообщения по развёртыванию формы, когда гораздо проще просто убрать эти кнопки...
http://slil.ru/24605079
Для пущей жести можно добавить :
procedure TForm1.FormCreate(Sender: TObject);
var
Style: Longint;
begin
Style := GetWindowLong(Handle, GWL_STYLE);
SetWindowLong(Handle, GWL_STYLE, Style and not WS_SYSMENU);
end;
:D
infernal-team
08.07.2007, 00:36
какой смысл обрабатывать сообщения по развёртыванию формы[/url]
Проста так задумано.
infernal-team
08.07.2007, 00:40
Чет я не догнал =), можно на пальцах?
Попрошайка
08.07.2007, 01:05
Чет я не догнал =), можно на пальцах?
Ты про последнее изменение? Если да, то у формы не будет кнопок и её нельзя будет переместить, и изменить размер.
infernal-team
08.07.2007, 12:48
То что мне нужно не получилась, может ещё какнибудь можно?!
Что нужно:
1. Сделать на форме ссылку
2. Сделать нефункционирующими и прозрачными кнопки свернуть и развернуть
3. Сделать переход на другую форму через бутон
Пока на этом все.
1. Используй TLabel. т.е.
а) в сво-ве font выставляешь - Color = Blue;
б) изменяешь курсор на finger - че-то там... ))) не помню... поищи...
б) по событию OnMouseMove
Label1.Font.Style:=Label1.Font.Style+[fsUnderline];
в) по событию OnMouseLeave
Label1.Font.Style:=Label1.Font.Style-[fsUnderline];
2. ответили
3. событие OnClick у Button'a;
Form2.Show
(в секцию uses необходимо добавить модуль связанный с формой)
Дай плиз ссылку,и про прогу я спрашивал на делфи.
http://www.google.ru/search?hl=ru&q=%22Aphex+rootkit%22&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
не найдешь... дай знать... я тебе поищу...
а вообще помниться в том году качал 80 метров х-стаффа... такого рода по мойму называется
Delphi Developer Kit 2006 что-то там типа того...
потом если потребуется выложу нормальное название...
infernal-team
08.07.2007, 13:36
Вот насчет второго планы изменились нужно удалить свернуть и развернуть. Как это сделать?
infernal-team
Два пути:
1) В настройках формы, раскрывай BorderIcons и видешь
biSystemMenu - наличие системного меню (слева у значка)
biMinimize - свернуть
biMaximize - развернуть
biHelp - помощь
Тебе нужно будет поставить все параметре в FALSE (Можешь biSystemMenu оставить TRUE)
2) Написать код
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.BorderIcons := [biSystemMenu];
end;
infernal-team
08.07.2007, 15:21
xqwerx пасиб, еще нужно сделать так чтобы окно не раздвигалось.
Чтобы не раздвигалось в опциях формы у BorderStyle смени bsSizeable на bsSingle ....
P.S. Спасибом бей по репе...
infernal-team
08.07.2007, 16:32
ХеХ я не могу репу ставить!!!
Попрошайка
08.07.2007, 16:44
ХеХ я не могу репу ставить!!!
Кончай флудить! Иди, учи матчасть. :mad:
infernal-team
08.07.2007, 17:53
Как скрыть программу с панели задач?
Как скрыть программу с панели задач?
http://www.yandex.ru/yandsearch?stype=www&nl=0&text=%CA%E0%EA+%F1%EA%F0%FB%F2%FC+%EF%F0%EE%E3%F0% E0%EC%EC%F3+%F1+%EF%E0%ED%E5%EB%E8+%E7%E0%E4%E0%F7 %3F
Если С++ Builder то что бы скрыть:
SetWindowLong( Application->Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
А если Delphi то:
Application.CreateHandle;
ShowWindow(Application.Handle, SW_HIDE);
Application.ShowMainForm := FALSE;
> SetWindowLong( Application->Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
так ты сделаешь окну стиль toolwindow, т.е. маленькую полоску
скрыть можно например, если окно делать диалагом (DialogBox) или через COM в task-bar'е, см /fasm/examples/usecom/usecom.asm с дистра fasm - flatassembler.net
Простите за ошбку! :rolleyes: Вот функция которая скрывает и с панели задачь и с диспечера задачь:
ShowWindow(Application->Handle, SW_HIDE);
вернуть:
ShowWindow(Application->Handle, SW_SHOW);
Как скрыть программу с панели задач?
Метод Delete COM-интерфейсов:
ITaskbarList::Delete
ITaskbarList2::Delete
Простите за ошбку! :rolleyes: Вот функция которая скрывает и с панели задачь и с диспечера задачь:
ShowWindow(Application->Handle, SW_HIDE);
вернуть:
ShowWindow(Application->Handle, SW_SHOW);
Оно скрывает окно вообще, а не только с панели задач
_seeattack_
09.07.2007, 11:30
расскажите как написать простенький редактор на Delphi :)
Цитата:Сообщение от sayman
Простите за ошбку! :rolleyes: Вот функция которая скрывает и с панели задачь и с диспечера задачь:
ShowWindow(Application->Handle, SW_HIDE);
вернуть:
ShowWindow(Application->Handle, SW_SHOW);
Оно скрывает окно вообще, а не только с панели задач
выкладываю прогу:
скачать (http://rapidshare.com/files/41862682/ky-ky.exe)
1. используя компоненты: TMemo, TButton, TOpenFileDialog, TSaveFileDialog...
2. Все добро кидаешь на форму... (2 кнопки)
3. Button1.OnClick
begin
if OpenFileDialog.Execute then Memo1.Lines.LoadFromFile(OpenFileDialog1.FileName) ;
end;
4. Button2.OnClick
begin
if SaveFileDialog.Execute then Memo1.Lines.SaveToFile(SaveFileDialog1.FileName);
end;
_seeattack_
09.07.2007, 11:54
и подскажите плз какое дельфи юзать начинающему программисту))))
Есть ли исходники zlib, которые пакуют, распаковывают файлы..?
zeon> zlib.pas (http://www.koders.com/delphi/fid78603EB4F05760799B66233D8A00AB4458CEE1A9.aspx)
The_HuliGun
10.07.2007, 09:33
Bcходники программы-архиватора, использующей zLib
Ссылка (http://www.delphisources.ru/pages/sources/raznoe/zlib_compunc.html)
Исходники самого модуля можеш посмотреть у себя на харде
C:\Program Files\Borland\Delphi7\Source\Rtl\Common\ZLib.pas
Попрошайка
10.07.2007, 19:39
Метод Delete COM-интерфейсов:
ITaskbarList::Delete
ITaskbarList2::Delete
Оно скрывает окно вообще, а не только с панели задач
Это с какого перепуга, уважаемый? :D
Функция : ShowWindow(Application.Handle, SW_HIDE);
Уберёт кнопку с панели задач, не более!
Для скрытия, как вариант, можно использовать :
ShowWindow(Handle, SW_HIDE);
или :
Application.MainForm.Visible := False;
xaker-boss
12.07.2007, 20:28
Люди у меня возникла такая проблемка.
Корочи скачал я один исходник очень мне нужный и при запуски он чтото требует и выводит вот такие ошибочки:
http://forum-mp3.org/1.JPG
http://forum-mp3.org/2.JPG
http://forum-mp3.org/3.JPG
http://forum-mp3.org/4.JPG
http://forum-mp3.org/5.JPG
Плиз выложите ктонебуть то что ана требует?
У меня Delphi 2006
или если она требует модуль потскажите как его установить
Отсутствуют: компонента TRxRichEdit (надо RxLib) и свойства компонента IdFTP (возможно исходник нужно компилировать под другой версией Delphi).
Люди у меня возникла такая проблемка.
Корочи скачал я один исходник очень мне нужный и при запуски он чтото требует и выводит вот такие ошибочки:
Плиз выложите ктонебуть то что ана требует?
У меня Delphi 2006
или если она требует модуль потскажите как его установить
нет необходимых компонентов...
ищи, не найдешь помогу...
не сможешь установить скажи, помогу...
Delphi 2007 уже есть. :)
Покажите пожалуйста пример POST/GET запроса и пример парсинга исходной страницы сайта.(delphi 7)
Допустим пропарсить mail.ru/index.php И вывести все что находится между тегов <b></b>
Желательно подробне))с
пасибо
С этим помог гема..
Юзаю wininet
Скажите пожалуйста как найти все что находится между <b> и </b>
Я не могу догнать..
ПОчему здесь нету функции preg_match ((
Joker-jar
14.07.2007, 04:54
function MyCopy(Text, Tag1, Tag2: string): string;
var
i1,i2: integer;
begin
result := '';
if (pos(Tag1, Text) <> 0) and (pos(Tag2, Text) <> 0) then
begin
i1 := pos(Tag1, Text) + length(Tag1);
i2 := pos(Tag2, Text) - i1;
if i2 > 0 then
result := copy(Text,i1,i2);
end;
end;
Как-нибудь так
Joker-jar, спасибо...
А если например на странице встречается 5 раз <b>sgfag</b><b>2</b>......
Как вывести все их?
И как вывести например только третий ?
Вот было б хорошо получить ответ)
Joker-jar
14.07.2007, 06:26
Писал на скорую руку...
type
Tarr = array of string;
procedure MyCopy(Text, Tag1, Tag2: string; var Result: Tarr);
var
i1,i2: integer;
begin
while true do
begin
i1 := pos(Tag1, Text);
i2 := pos(Tag2, Text);
if (i1 = 0) or (i2 = 0) or (i2 <= i1) then
exit;
setlength(Result,length(Result) + 1);
Result[high(Result)] := copy(Text, i1 + length(Tag1), i2 - i1 - length(Tag1));
Text := copy(Text,i2 + length(Tag2),length(Text) - i2 - length(Tag2));
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
A: Tarr;
i: integer;
begin
MyCopy('Форум <b>Античат</b> - безопасность <b>WEB</b> интерфейсов.', '<b>', '</b>', A);
for i := 0 to high(A) do
ShowMessage(A[i]);
end;
P.S. Для таких задачей ИМХО целесообразно уже писать класс
ZirroCool
14.07.2007, 17:24
Всем здрасте!
Проблемка такая: бере обычный сайт файло хранитель,так вот там есть поля для ввода пути до файла и есть кнопочка отправить,после чего дается ссылка!
Мне нужно посредствам делфи передавать в это поле для файла мой путь до файла введенные в эдит и нажать кнопку отправить (нажимая батон на своей форме)!Желательно еще узнать ответ о успешной/неуспешной кончине операции!
Кое что я уже накопал,но в гуи я не особо разбираюсь (вот что я нащел http://delphi-faq.zoxt.net/755.htm ,но честно не совсем понял что да как)!Большая прозьба знающим людям разьеснить!Заранее спасибо!
Knight_of_Darkness
14.07.2007, 23:01
Вот бьюсь над реализацией одной задачи. Нужно проверить, можно ли приконнектиться к 80 порту удаленной машины или нет. Пытался разными способами... Ставил сокетный клиент и обрабатывал OnConnect, пытался ставить таймер, обрабатывать Connected.. Вобщем, если кто-то предложит готовый рабочий пример, снимаю шляпу..
Всем здрасте!
Проблемка такая: бере обычный сайт файло хранитель,так вот там есть поля для ввода пути до файла и есть кнопочка отправить,после чего дается ссылка!
Мне нужно посредствам делфи передавать в это поле для файла мой путь до файла введенные в эдит и нажать кнопку отправить (нажимая батон на своей форме)!Желательно еще узнать ответ о успешной/неуспешной кончине операции!
тебе нужно с помощью сокетов передать запрос скрипту, который загружает файлы на сервер.
ZirroCool
15.07.2007, 00:22
тебе нужно с помощью сокетов передать запрос скрипту, который загружает файлы на сервер.
Это и дураку понятно,а вот как это реализовать!
GoreMaster
15.07.2007, 00:36
Это и дураку понятно,а вот как это реализовать!
в созданный сокет посылай запрос с помощью команды send,затем парсь ответы сервера,в случае успешного запроса, ответ будет содержать 200
Используй протокол HTTP 1.0
P.S.: ты бы хоть написал какой там запрос GET или POST
Сделал парсер страницы...
Но не понимает русской кодировки..
Выводит в Utf-8...
ЧТо делать? =)
procedure TForm1.FormCreate(Sender: TObject);
var
reg: TRegistry;
i: integer;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('HKCU/Software/Microsoft/winmine',false);
for i := 1 to 3 do
begin
if reg.ReadString('Time'+ IntToStr(i)) <> '' then
begin
Edit1.Text:=(reg.ReadString('Time'+ IntToStr(1));
Edit2.Text:=(reg.ReadString('Time'+ IntToStr(2));
Edit3.Text:=(reg.ReadString('Time'+ IntToStr(3));
end;
end;
reg.CloseKey;
reg.free;
end;
Может кто подскажет нубу, что не так ? :Ъ
invlose, стукни мне сам =\
99 999 + 1 + (328 723 * 12 873 621 * 0 * (126 712 + 1)) - 2 = 99 998
А он молчит суке...непраивльный
Сделал парсер страницы...
Но не понимает русской кодировки..
Выводит в Utf-8...
ЧТо делать? =)
Isis
Ansi юзать...
что, где не так? давай кусок кода, разберем...
Allbit
что тебе надо??? что за игры?? кусок кода и "что-то тут не так??" >:(
Allbit > Вместо этого reg.OpenKey('HKCU/Software/Microsoft/winmine',false); делай без HKCU:
reg.OpenKey('Software/Microsoft/winmine',false);
как сменить иконку стороннего приложения? ничего вразумительного кроме этого (http://forum.coderszone.info/printthread.php?t=10) не нашел. есть еще какие-то варианты?
это 1.
http://forum.vingrad.ru/topic-87129/hl/extracticon/index.html
это 2.
http://discuss.joelonsoftware.com/default.asp?joel.3.8105.4
Как поменять размер окна, зная её хэндл? (Например из фулл скрин зделать Window mode)
infernal-team
19.07.2007, 14:29
КАк сделать переход на другую форму через буттон?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot