Jak STWORZYĆ zasób, w którym będzie bardzo duży string?
3 wyjścia:
- dodajesz do pliku (Add to project) plik *.RC czyli zwykły opis zasobów i kompilujesz projekt
- kompilujesz plik *.RC poprzez brcc32.exe i wynikowy plik *.RES dodajesz do projektu
- w kodzie delphi dajesz (tak samo jak się daje działy var, const czy type) dział ResourceString i w nim deklarujesz sobie zmienne stosownych typów.
Szczawik napisał(a)
3 wyjścia:
- dodajesz do pliku (Add to project) plik *.RC czyli zwykły opis zasobów i kompilujesz projekt
- kompilujesz plik *.RC poprzez brcc32.exe i wynikowy plik *.RES dodajesz do projektu
- w kodzie delphi dajesz (tak samo jak się daje działy var, const czy type) dział ResourceString i w nim deklarujesz sobie zmienne stosownych typów.
- Mógłbyś rozwinąć jak mniej więcej ma wyglądać plik rc?
(to jest duży string z pojedyńczymi cudzysłowami) - Możesz trochę więcej napisać o resourceString i wydobyciu?
Odnośnie (1) - tu masz jakiś na szybko znaleziony opis stringów w zasobach: http://www.cacs.louisiana.edu/~mgr/404/burks/language/pascal/uddf/pages/resource.htm
Odnośnie (2): na pustej formie umieść zwykłe Memo1.
resourcestring
x = 'To jest długi tekst z apostrofami ('') oraz cudzysłowami (")'#13#10
+ 'To jest długi tekst z apostrofami ('') oraz cudzysłowami (")'#13#10
// Tutaj może być długi tekst - powyżej 255 (jak się nie mylę granicą jest 65535).
+ 'To jest długi tekst z apostrofami ('') oraz cudzysłowami (")'#13#10
+ 'To jest długi tekst z apostrofami ('') oraz cudzysłowami (").';
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Text:=x;
end;
Wniosek: x jest zwykłą stałą typu string, ale po kompilacji będzie w zasobach i stamtąd będzie pobierane przez kod do wykorzystania.
Jak potrzebujesz dłuższe ciągi znaków to użyj zasobów ze zdefiniowanym typem DATA, na przykład taki plik *.rc:
mojtekst DATA "plik.txt"
Tekst załączysz w dodatkowym pliku. W Delphi dajesz Add To Project (wskazujesz ten plik *.rc). W kodzie Delphi wczytujesz to do TResourceStream(hInstance, 'mojtekst') i wykorzystujesz jak tam chcesz.
Szczawik napisał(a)
Jak potrzebujesz dłuższe ciągi znaków to użyj zasobów ze zdefiniowanym typem DATA, na przykład taki plik *.rc:
mojtekst DATA "plik.txt"
Tekst załączysz w dodatkowym pliku. W Delphi dajesz Add To Project (wskazujesz ten plik *.rc). W kodzie Delphi wczytujesz to do TResourceString(hInstance, 'mojtekst') i wykorzystujesz jak tam chcesz.
OK, a w jakiej blibliotece jest TResourceString?
Bo help mi nic na ten temat nie mówi
Miało być TResourceStream (unit Classes). Z rozpędu wyszło mi TResourceString, ale już w poprzednim poście poprawiłem, aby nikt się nie zasugerował. Sorry :)