Problem mit Funktion

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
yodi
Beiträge: 22
Registriert: So 11. Jan 2015, 06:40
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: bei Göttingen
Kontaktdaten:

Problem mit Funktion

Beitrag von yodi »

Hi,

Wo kann/muss ich eine Funktion hinschreiben ?

Muss ich eine Funktion anmelden ?

Ich hab das mal so versucht und habe Fehlermeldung geerntet. qrg.lpr(38,6) Error: Illegal expression

Code: Alles auswählen

 
 
program qrg;
 
{$mode objfpc}{$H+}
 
uses
{$ifdef Unix}
  BaseUnix, Classes, sysutils, Process;
{$else}
  Dialogs,sysutils, Process,Classes,Windows;
{$endif}
 
 
 
var
    Hier stehen meine Variablen
 
begin
 
     function strsplit( S: string; ): array of string;
        begin
             writeln(s);
        end;
 
Hier ist mein Programmcode
 
end;
 
 
Flotte Grüße
--------

Mathias
Beiträge: 6923
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Problem mit Fuktion

Beitrag von Mathias »

Code: Alles auswählen

 program qrg;
 
{$mode objfpc}{$H+}
 
uses
 {$ifdef Unix}
  BaseUnix, Classes, sysutils, Process;
 {$else}
  Dialogs,
  SysUtils,
  Process,
  Classes,
  Windows;
 
{$endif}
 
type
  TStringArray = array of string;  // Muss zuerst deklariert werden
 
  //var
  //    Hier stehen meine Variablen
 
 
  function strsplit(S: string): TStringArray;
  begin
    writeln(s);
  end;
 
begin
 
  //Hier ist mein Programmcode
 
end.  
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

yodi
Beiträge: 22
Registriert: So 11. Jan 2015, 06:40
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: bei Göttingen
Kontaktdaten:

Re: Problem mit Fuktion

Beitrag von yodi »

Ich bekomme diese Fehlermeldung:

qrg.lpr(17,38) Error: Type identifier expected
qrg.lpr(17,38) Fatal: Syntax error, ";" expected but "ARRAY" found

Code: Alles auswählen

 
 
program qrg;
 
{$mode objfpc}{$H+}
 
uses
{$ifdef Unix}
  BaseUnix, Classes, sysutils, Process;
{$else}
  Dialogs,sysutils, Process,Classes,Windows;
{$endif}
 
 
type
  TStringArray = array of string;
 
  function stringsplit( s: string ): array of string;
 
var
     Datei: Text;       (* Dateizeiger *)
     zeile: string;     (*      *)
     trx:   string;     (* funkgerät *)
     speed: string;     (* Baudrate für serielle Schnittstelle     *)
     port:  string;     (* Serielle schnittstelle     *)
     Position : integer;(* Position im String    *)
     PositionA : integer;
     PositionB : integer;
     parameter: string;
     wert: String;
     AProcess: TProcess;
     AStringList: TStringList;
     zeilennr: integer;
     befstr: string;
     VFOa: string;
     VFOb: String;
     TRXMode: String;
     rigctlpath : string;
     outputstring,rigbinary:ansistring;
     argumenten: array of string;
     ok: boolean;
 
 
     function stringsplit( S: string ): array of string;
        begin
             writeln(s);
             result:=s
        end;
begin
 
 
 
       rigctlpath := 'c:\Program Files (x86)\hamlib-win32-1.2.15.3\bin\';
       if FileExists(rigctlpath+'rigctl.exe') then
       begin
          if ...
So richtig blick ich da nicht lang

Grüße und gute Gedanken
Yodi
--------

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Problem mit Funktion

Beitrag von mse »

yodi hat geschrieben:

Code: Alles auswählen

 
type
  TStringArray = array of string;
 
  function stringsplit( s: string ): array of string;
 
Schau noch mal das Beispiel von Mathias an.

Antworten