Wartości Stringów!!!!

0

Cześć
Czy idzie zdefiniować wartość WideString lubAnsiString tak jak zwykłych np. String[255]?????
Jeśli tak to jak????
[browar]

0

var
value : AnsiString;
begin
value := StrAlloc(64*SizeOf(Char)); // przydzielenie pamięci
// value wskazuje na 63 znakowy łańcuch
....
...
....
StrDispose(value); // zwolnienie przydzielonej pamięci
end;

Czy o to chodziło?
Pozdrawiam [cya]

0

Cześć
Czy idzie zdefiniować wartość WideString lubAnsiString tak jak zwykłych np. String[255]?????
Jeśli tak to jak????
[browar]

Nie jestem pewien, czy rozumiem o co ci chodzi.
Tzw długie łańcuchy (AnsiString, string) jak i WideString są dynamiczne, tzn pamięć jest na nie przydzielana w trakcie działania programu i jej wielkość może się zmieniać. Łańcuchy krótkie (ShortString, string[liczba]) są statyczne, pamięć jest przydzielana "z góry" i nie może się zmieniać.

Ustawienie długości łańcucha długiego zachodzi na dwa sposoby:

  1. niejawny w momencie przypisania:
    var
    s: string;
    begin
    s:='burak'; //lancuch ma teraz dlugosc 5

  2. jawny
    var
    s: string
    begin
    SetLength(s, 8); //lancuch s ma teraz dlugosc 8, zawartosc nieokreslona
    t:='burak';
    SetLength(t,2); //lancuch t ma teraz dlugosc 2, zawartosc 'bu'

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