Skocz do zawartości
Oles

Pliki Ini

Rekomendowane odpowiedzi

Ściągnąłem sobie jakiegos PDF'a z obsługą plików ini i umiem zapisać jakąś wartość ale mam problem z jej odczytaniem. Mianowicie chcę aby program odczytał wartość klucza. Spójrzcie na załącznik. Skąd mam wiedzieć jaka będzie wartość klucza :blink: ???? Właśnie po to robię pliki Ini, żebym mógł tę wartość dowolnie zmieniać. Może po prostu źle interpretuję tę funkcję:

TIniFile.ReadString(const Section: String; const Idenf: String; const Default: String);

Ops, zalącznik się nie zmieścił.

 

ReadString(Nazwa_sekcji, Nazwa_klucza, Wartość_pola);
Edytowane przez Oles

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Odczyt:

procedure TfrmMain.ReadConfiguration;var  configIni: TIniFile;  i: integer;begin  ConfigIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini');  with configIni do  begin// Seckcja : Maincr:= StrToInt(ReadString('Main', 'Last','1'));// Sekcja: AC 1for i:=1 to 8 dobeginac[i]:= TKonto.Create;ac[i].Pop3_n := ReadString('ac'+IntToStr(i), 'Pop3_ServerName', 'pop3.serwer.pl');ac[i].Pop3_p := StrToInt(ReadString('ac'+IntToStr(i), 'Pop3_ServerPort', '110'));ac[i].Pop3_us := ReadString('ac'+IntToStr(i), 'Pop3_ServerUser', 'login');ac[i].Pop3_pd := ReadString('ac'+IntToStr(i), 'Pop3_ServerPassword', 'password');ac[i].Smtp_n := ReadString('ac'+IntToStr(i), 'Smtp_ServerName', 'smtp.serwer.pl');ac[i].Smtp_p := StrToInt(ReadString('ac'+IntToStr(i), 'Smtp_ServerPort', '25'));ac[i].Smtp_us := ReadString('ac'+IntToStr(i), 'Smtp_ServerUser', 'login');ac[i].Smtp_pd := ReadString('ac'+IntToStr(i), 'Smtp_ServerPassword', 'password');ac[i].Smtp_au := ReadInteger('ac'+IntToStr(i), 'SMTPAuthenticationType', 0);ac[i].U_email := ReadString('ac'+IntToStr(i), 'PersonalEmail', 'to_ja@poczta.pl');end;  end;  configIni.Free;end;

Zapis:

procedure TfmSetup.BitBtn1Click(Sender: TObject);var  configIni: TIniFile;  i: integer;begin  configIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini');  with configIni do  begin  for i:=1 to 8 do  begin WriteString('Main', 'Last', IntToStr(frmMain.cr)); WriteString('ac'+IntToStr(i), 'Pop3_ServerName', ac[i].Pop3_n); Pop3ServerName := POPServer.Text; WriteString('ac'+IntToStr(i),'Pop3_ServerPort', IntToStr(ac[i].Pop3_p)); Pop3ServerPort := StrToIntDef(POPPort.Text, 110); WriteString('ac'+IntToStr(i),'Pop3_ServerUser', ac[i].Pop3_us); Pop3ServerUser := Account.Text; WriteString('ac'+IntToStr(i),'Pop3_ServerPassword', ac[i].Pop3_pd); Pop3ServerPassword := Password.Text; WriteString('ac'+IntToStr(i),'Smtp_ServerName', ac[i].Smtp_n); SmtpServerName := SMTPServer.Text; WriteString('ac'+IntToStr(i),'Smtp_ServerPort', IntToStr(ac[i].Smtp_p)); SmtpServerPort := StrToIntDef(SMTPPort.Text, 110); WriteString('ac'+IntToStr(i),'Smtp_ServerUser', ac[i].Smtp_us); SmtpServerUser := edtAccount.Text; WriteString('ac'+IntToStr(i),'Smtp_ServerPassword', ac[i].Smtp_pd); SmtpServerPassword := edtPassword.Text; WriteInteger('ac'+IntToStr(i),'Smtp_SMTPAuthenticationType', ac[i].Smtp_au); SmtpAuthType := cboAuthType.ItemIndex; WriteString('ac'+IntToStr(i),'PersonalEmail', ac[i].U_email); UserEmail := Email.Text; LoadSett;  end;  end;  configIni.Free;end;

config.ini:

[Main]Last=1[ac1]Pop3_ServerName=pop3.serwer.plPop3_ServerPort=110Pop3_ServerUser=loginPop3_ServerPassword=passwordSmtp_ServerName=smtp.serwer.plSmtp_ServerPort=25Smtp_ServerUser=loginSmtp_ServerPassword=passwordSmtp_SMTPAuthenticationType=0PersonalEmail=to_ja@poczta.pl[ac2]Pop3_ServerName=pop3.serwer.plPop3_ServerPort=110(..)

Kod pochodzi z mojego programiku Minimail. Oczywiście kont jest 8 - wypisałem kawałek config.ini, bo wypisywanie kilka razy tego samego nie ma sensu.

"Last" określa numer ostatnio używanego konta.

Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...