Oles Opublikowano 18 Czerwca 2005 Zgłoś Opublikowano 18 Czerwca 2005 (edytowane) Ś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 18 Czerwca 2005 przez Oles Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 18 Czerwca 2005 Zgłoś Opublikowano 18 Czerwca 2005 To do tego trzeba pdf'y sciągać? W Delphi masz w pomocy dobry opis w dodatku z przykładem. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 19 Czerwca 2005 Zgłoś Opublikowano 19 Czerwca 2005 (edytowane) 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 19 Czerwca 2005 przez ULLISSES Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...