Syntax error w dziwnym miejscu

0

Witam!

Próbuję wykodzić funkcję do otwierania pliku tekstowego (wiem, być może odkrywam koło na nowo) i zwracającą jego zawartość jako tablicę. Wiem, że jest (rzekomo) możliwość stworzenia w Pascal'u tablicy dynamicznej (coś jak w PHP'ie zwykłe Array()), ale nawet jeśli definiuję długość tablicy, debuger wypluwa mi dwa, te same błędy.

installer.lpr(48,40) Error: Type identifier expected
installer.lpr(48,40) Fatal: Syntax error, ";" expected but "ARRAY" found

Poniżej zamieszczam fragment kodu który ów problem stwarza.

Function OpenTxt (patch : String) : Array of string;
Var
  Counter:integer;
  Content:text;
  Line:string;
Begin
   If FileExists(patch) Then
     Assign(Content,patch);
     Reset(Content);
     Counter:=0;
     REPEAT
       SetLength(OpenTxtArray,Counter);
       ReadLn(Content,Line);
       OpenTxtArray[Counter]:=Line;
       Inc(Counter);
     Until EOF(Content);
     Close(Content);
End;

Po prawie całym dniu szperania w google poddaję się, nie mam pojęcia co z tym jest nie tak.

1

Już poradziłem sobie z problemem.

Wystarczyło w programie przed "Var" w kodzie ogólnym (nie w funkcji) dopisać:

type TStringArray = array of string;

a "array of string" w linijce

Function OpenTxtArray (patch : String) : array of string;

zamienić na TStringArray

Function OpenTxtArray (patch : String) : TStringArray;

Proszę o zamknięcie tematu. F9.

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