Problem z ini i TString

Problem z ini i TString
A1
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
  • Postów:6
0

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

Kod mojego programu wygląda tak:

Kopiuj
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?

edytowany 1x, ostatnio: arus1993
Patryk27
'Jak zamienić Integer na TString?' - nie ma czegoś takiego jak TString, jest TStrings (b.duża różnica).
Patryk27
Nie można zamienić Integer na TStrings. Można Integer na String procedurą 'IntToStr'. TStrings do zbiór stringów, ogólnie klasa, ale o tym można znaleźć wiele. Otwórz oczy i poszukaj.
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0
Kopiuj
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

Kopiuj
IntToStr

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

Lektura:
Pliki INI


edytowany 2x, ostatnio: Patryk27
pelsta
  • Rejestracja:około 19 lat
  • Ostatnio:21 dni
  • Postów:819
0

Spróbuj tak:

Kopiuj
  with TIniFile.Create('C:\Documents and Settings\user\Pulpit\motywatory.ini') do
  begin
    ReadSectionValues('przyslowia',RichEdit1.Lines);
    Free;
  end;
A1
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
  • Postów:6
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?

Kopiuj
procedure TForm1.FormCreate(Sender: TObject);
begin
UrlDownloadToFile(nil,'http://arus1993.host4u.pl/szkola/office.jpg','C:\office.jpg',0,nil);
end;
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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.


Pozdrawiam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.