|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2010, 22:26 | #1 |
Форумчанин
Регистрация: 20.05.2010
Сообщений: 100
|
Про ини файлы
Привет всем еще раз!
получил ответ на первый вопрос по ини файлам через время возник еще один:D начну из далека после implementation пишу функцию которая ищет компы в локальной сети [DELPHI] public { Public declarations } end; const WINSOCK_VERSION=$0101; var Form1: TForm1; s:String; ini:TIniFile; implementation {$R *.dfm} type TServerBrowseDialogA0 = function(hwnd: HWND; pchBuffer: Pointer; cchBufSize: DWORD): bool; stdcall; function ShowServerDialog(AHandle: THandle): string; var ServerBrowseDialogA0: TServerBrowseDialogA0; LANMAN_DLL: DWORD; buffer: array[0..1024] of char; bLoadLib: Boolean; begin LANMAN_DLL := GetModuleHandle('NTLANMAN.DLL'); if LANMAN_DLL = 0 then begin LANMAN_DLL := LoadLibrary('NTLANMAN.DLL'); bLoadLib := True; end; if LANMAN_DLL <> 0 then begin @ServerBrowseDialogA0 := GetProcAddress(LANMAN_DLL, 'ServerBrowseDialogA0'); DialogBox(HInstance, MAKEINTRESOURCE(101), AHandle, nil); ServerBrowseDialogA0(AHandle, @buffer, 1024); if buffer[0] = '\' then begin Result := buffer; end; if bLoadLib then FreeLibrary(LANMAN_DLL); end; end; [/DELPHI] Допустим первый раз запускаем программу, делаем ини файл При создании формы он форм креате считываем текст лейбла (который по умолчанию пустой) [DELPHI] procedure TForm1.FormCreate(Sender: TObject); begin ini:=TIniFile.Create('c:\YahoooTaho o.ini'); ini.ReadString('Comps','last comp',Label2.Caption); ini.Free; end[/DELPHI] запускаем функцию обзора компов в сети (я думаю тооже надо делать в Форм-Креате) [DELPHI] procedure TForm1.FormCreate(Sender: TObject); begin // если записи в ини файле отсутструют то выбираем сервер s:=ShowServerDialog(Form1.Handle); Delete(s,1,2); label1.Caption := s; end; [/DELPHI] тоесть получ уже вот такой код [DELPHI] procedure TForm1.FormCreate(Sender: TObject); begin ini:=TIniFile.Create('c:\YahoooTaho o.ini'); ini.ReadString('Comps','last comp',Label2.Caption); ini.Free; end; // если записи в ини файле отсутструют то выбираем сервер begin s:=ShowServerDialog(Form1.Handle); Delete(s,1,2); label1.Caption := s; end; [/DELPHI] (помните в самом начале моего все разрастающегося вопроса=-O описана процедура ShowServerDialog) выбираем наконец то комп и записываю имя выбранной машины в сети в лейбл в обработчике форм креате перевожу имя в айпи адрес (можно по нажатию кнопки или за раз в форм креате) [DELPHI]procedure TForm1.Button2Click(Sender: TObject); var WSAData: TWSAData; p: PHostEnt; begin WSAStartup(WINSOCK_VERSION, WSAData); p:=GetHostByName(PChar(s)); Label1.Caption:=inet_ntoa(PInAddr(p .h_addr_list^)^); WSACleanup; end;[/DELPHI] и его надо сохранить в ини думаю так----> в том же обработчике ini:=TIniFile.Create('c:\YahoooTaho o.ini'); ini.WriteString('Comps','last comp',Label2.Caption); ini.Free; end; цикл завершен теперь ключевой момент: второй раз запускаем приложение на этой же машине сразу ли запустится основное окно т. е без обзора компов? если есть ошибки или неточности, исправте пожалуста голова уже не думает или доработайте проэкт так чтобы с первым запуском прога нашла сетевой комп, записала в ини-фаил и при втором запуске уже выводилась форма например с тем же лейблом и кнопками без обзора надеюсь кто нбудь ответит на вопрос и исправит код вылаживаю тоже заранее большое спасибо за помощ |
29.05.2010, 23:16 | #2 |
Ещё не
Форумчанин
Регистрация: 04.01.2010
Сообщений: 517
|
Может быть вот так
Воображение важнее, чем знания. (Albert Einstein)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос про файлы | RamilFaz | Общие вопросы C/C++ | 2 | 08.04.2010 07:48 |
Сного про файлы | Elandar | Работа с сетью в Delphi | 2 | 25.07.2008 21:20 |
Вопрос про DLL-файлы | PChEL@ | Общие вопросы Delphi | 3 | 29.06.2007 02:03 |
два вредных вопроса:про асю и прикриплёные файлы файлы | steck | Свободное общение | 3 | 17.06.2007 14:53 |