Zasób ze stringiem

Odpowiedz Nowy wątek
2006-10-23 13:10
0

Jak STWORZYĆ zasób, w którym będzie bardzo duży string?

Pozostało 580 znaków

2006-10-23 15:10
0

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.

<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

2006-10-23 15:16
0
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.
  1. Mógłbyś rozwinąć jak mniej więcej ma wyglądać plik rc?
    (to jest duży string z pojedyńczymi cudzysłowami)
  2. Możesz trochę więcej napisać o resourceString i wydobyciu?

Pozostało 580 znaków

2006-10-24 00:23
0

Odnośnie (1) - tu masz jakiś na szybko znaleziony opis stringów w zasobach: http://www.cacs.louisiana.edu[...]ascal/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.


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

2006-10-24 11:51
0
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

Pozostało 580 znaków

2006-10-24 14:29
0

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 :)


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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