Problem z ini i TString

0

Witam, próbuję w pętli wczytać zawartość pliku ini o strukturze:
[przyslowia]
1 = ...
2 = ...

Kod mojego programu wygląda tak:

procedure TForm1.FormCreate(Sender: TObject);
var INI: TIniFile;
i: Integer;
begin
INI:=TIniFile.Create('C:\Documents and Settings\user\Pulpit\motywatory.ini');
for i:=1 to 7 do
 begin
  RichEdit1.Text:=RichEdit1.Text + INI.ReadSectionValues('przyslowia', i);
 end;
INI.Free;
end;

Ale wywala mi taki błąd:
[Error] Unit1.pas(33): Incompatible types: 'TStrings' and 'Integer'

Jak zamienić Integer na TStrings?

0
RichEdit1.Text:=RichEdit1.Text + INI.ReadString('przyslowia', IntToStr(I), 'tutaj jakiś tekst, jeżeli nie ma takiego przysłowia');

Źle zamieniasz integer na string. Poczytaj o

IntToStr

I ogólnie poczytaj o plikach Ini.
ReadSectionValues służy do czego innego.

Lektura:
Pliki INI

0

Spróbuj tak:

  with TIniFile.Create('C:\Documents and Settings\user\Pulpit\motywatory.ini') do
  begin
    ReadSectionValues('przyslowia',RichEdit1.Lines);
    Free;
  end;
0

Dzięki, działa.

A jeszcze jedno, co prawda nie w tym temacie, ale żeby nie zakładać nowego wątku:

Czemu Avast blokuje mi program który ma pobrać dany plik z neta?

procedure TForm1.FormCreate(Sender: TObject);
begin
UrlDownloadToFile(nil,'http://arus1993.host4u.pl/szkola/office.jpg','C:\office.jpg',0,nil);
end;
0

arus1993: bo to avast, po prostu wiele pseudo trojanów napisanych przez dzieci neo
korzysta z tej funkcji i dlatego avast wrzuca je do jednego worka szkodliwych kodów.
Chociaż wiadomo lepszy taki kulawy antywirus niż żaden. Spróbuj innego antywirusa
może zainstalować i używać albo zobacz czy takie same problemy będą jeżeli użyjesz
komponentów z pakietów Indy/Synapse. Jak je zainstalować i używać, patrz google.

1 użytkowników online, w tym zalogowanych: 0, gości: 1