zapis do pliku typowanego

Odpowiedz Nowy wątek
2004-08-16 22:09
0

T jest ok

type
Trec = record
 tytul: string[255];
 tresc: string[255];
end;

var
plik: file of Trec;
rec: Trec;

Jednak gdybym chciał tresc: string[1255]; lub tresc:ansistring;
to już nie przejdzie idzie to ominąć


Pozdrowienia Waldi

Pozostało 580 znaków

2004-08-16 22:15
0

Spróbuj

array[1..1250] of char;

Słowa kierownika : To, jak wy zdążycie to napisać, to ja mam w szeroko rozumianej du*ie.
http://project1.pl

Pozostało 580 znaków

2004-08-16 22:20
0

Spróbuj

array[1..1250] of char;

tyle że wtedy bede miał problem przypisac zawartość memo do takiej tablicy


Pozdrowienia Waldi

Pozostało 580 znaków

2004-08-16 22:29
0

to zapisz kilka stringów i już :)


Piszę programy w językach: C, C++, Java, Python, Bash, PHP, SQL.
Przyjmuję zlecenia

Pozostało 580 znaków

2004-08-16 23:30
0

tyle że wtedy bede miał problem przypisac zawartość memo do takiej tablicy

Chciałbym mieć takie problemy !

var
  s: string;
  i: integer;
  Arr: array[0..1250] of Char;
begin
  s := Memo1.Text;
  for i := 1 to Length(s) do
  begin
    if i > Length(Arr) - 1 then Break;
    Arr[i - 1] := s[i];
  end;
end;

Pozostało 580 znaków

2004-08-16 23:55
0

już lepiej tak: ;p

var
  s: string;
  i,len: integer;
  Arr: array[1..1250] of Char;
begin
 s:= Memo1.Text;
 len:=Length(s);
 if len>1250 Then len:=1250; 
 for i := 1 to len do
  Arr[i] := s[i];
end; 

a w drugą strone

S:=String(arr);


Szymek

<span style="color: blue">"Nie twierdzę, że kobiety są głupie,
zostały stworzone na podobieństwo mężczyzn...
"</span> - George Eliot<span style="color: green">

Pozostało 580 znaków

2004-08-17 03:27
0

jack, Szymek:

  • po co te petle skrobiecie jak jest Move() ? :-P

Pozostało 580 znaków

2004-08-17 13:23
0

T jest ok


type
Trec = record
tytul: string[255];
tresc: string[255];
end;

var
plik: file of Trec;
rec: Trec;

> 
> Jednak gdybym chciał  <b>tresc: string[1255];</b>  lub <b>tresc:ansistring;</b>
> to już nie przejdzie idzie to ominąć

1. Rekord zapisywany do pliku rekordowego musi mieć stałą długość (więc AnsiString odpada).
2. ShortString (czyli stara Pascalowa deklaracja string[n]) ma maksymalną długość 255.
3. Jak chcesz string 1255, napisz:
```delphi
TRec = record
  Tytul: string[255];
  Tresc: array[0..1254] of Char;
end;

Teraz pole Tresc jest kompatybilne z łańcuchami PChar (przy włączonej dyrektywie $X, ale jest to ustawienie domyślne), więc nie powinno być problemu z przypisaniem zwykłego stringa (ale tablica musi być indeksowana od zera!).


Mam nadzieję, że pomogłem :)

Łukasz Brodny

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