Einzelnen Beitrag anzeigen

EMS

Registriert seit: 19. Dez 2012
97 Beiträge
 
#36

AW: Procedure in Procedure aufrufen klappt nicht

  Alt 4. Jan 2013, 21:42


So sieht der Quelltext nun aus

Hab ich das richtig erkannt das wenn ich eine procedure aufrufe

...procedure(X,Y,Z);

Das X,Y,Z die Variablen aus der procedure(VAR 1;2;3) wieder gibt in der selben Reihenfolge?
Und man die Variablen nicht mit dem selben Namen bezeichnen darf?



Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Label2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  Zeile,Zeilen:string;
  position:integer;

implementation

{$R *.lfm}

{ TForm1 }


procedure String_Zaehler(
  var T : Textfile; // Datei, in der gesucht werden soll (als Textfile-Referenz)
   s : string; // Suchtext
   var Anz : Integer // Anzahl der gefundenen Stellen
 );

var
  position,laenge:integer;
  text:string;

begin
while not eof(T) do
begin
     Readln(T,Text); //lesen aus T(Tist LDatei) und in Text zwischen speichern
     Position:=pos(s,Text); //Position von s(Eingabe aus Edit1.text)in Text bestimmen
     laenge:=LENGTH(s); //Länge von dem Wort anzeigen
     delete(Text,position,laenge); //Wort löschen (aus Text) an Position des Ersten Bustabens
                                    //mit der länge(aus laenge);
     inc(ANZ); //ANZ hochzählen

end;
end;


procedure TForm1.Button1Click(Sender: TObject);

var
   LDateiname : String;
   LDatei : Textfile;
   LAnzahl : Integer;
 begin
   if OpenDialog1.Execute then
   begin
     LDateiname := OpenDialog1.Filename;
     AssignFile( LDatei, LDateiname );
     Reset( LDatei );

    LAnzahl := 0;

    String_Zaehler( LDatei, Edit1.Text, LAnzahl );

     Label2.Caption := IntToStr( LAnzahl );
   end;
   CloseFile( LDatei );
 end;

procedure TForm1.Edit1Change(Sender: TObject);
begin

end;

procedure TForm1.Label2Click(Sender: TObject);
begin

end;

end.

Geändert von EMS ( 4. Jan 2013 um 21:44 Uhr)
  Mit Zitat antworten Zitat