![]() |
Delphi-Version: 5
Procedure in Procedure aufrufen klappt nicht
Hallo mal wieder...Neues Programm neues Problem
Ich möchte gerne einen Text öffnen mit Opendialog --> das klappt. Dann möchte ich diesen Auf ein Wort durchsuchen was ich im editfeld eingebe klappt auch Jetzt soll das ganze aber mit einer extra procedure laufen das klappt nicht. Es gibt immer einen Fehler mit der Zeile wo ich die Procedure aufrufen möchte mit dem jeweiligen 's' Mir fällt aber keine Lösung mehr ein
Delphi-Quellcode:
implementation
{$R *.lfm} { TForm1 } procedure String_Zaehler(VAR s:string;position:integer); begin position:=pos('edit1.text',s); end; procedure TForm1.Button1Click(Sender: TObject); var posi: integer; dateiname,s: string; datei:textfile; //position: integer; begin if opendialog1.execute then begin dateiname:=opendialog1.filename; showmessage(dateiname); ASSIGNFILE(datei,dateiname); RESET(datei); while not eof(datei) do begin Readln(datei,s); String_Zaehler(s); label2.caption:=inttostr(position); showmessage('Zeile: '+s); end; end; Closefile(datei); end; end. |
AW: Procedure in Procedure aufrufen klappt nicht
Bei String_Zaehler muß das var vor position und die Procedere hat 2 Parameter.
|
AW: Procedure in Procedure aufrufen klappt nicht
mhh was meinst du mit Parameter?
ich hab das jetzt so procedure String_Zaehler(s:string;VAR position:integer); aber das geht auch nicht |
AW: Procedure in Procedure aufrufen klappt nicht
jenau, und jetzt noch String_Zaehler(s, position); aufrufen :thumb:
|
AW: Procedure in Procedure aufrufen klappt nicht
klappt nicht jetzt kommen ganz viele neue fehler ?
|
AW: Procedure in Procedure aufrufen klappt nicht
Delphi-Quellcode:
procedure String_Zaehler(s:string; var position:integer); // <-- da
begin position:=pos('edit1.text',s); end; procedure TForm1.Button1Click(Sender: TObject); var posi: integer; dateiname,s: string; datei:textfile; position: integer; // <-- da begin if opendialog1.execute then begin dateiname:=opendialog1.filename; showmessage(dateiname); ASSIGNFILE(datei,dateiname); RESET(datei); while not eof(datei) do begin Readln(datei,s); String_Zaehler(s, position ); // <-- da label2.caption:=inttostr(position); showmessage('Zeile: '+s); end; end; Closefile(datei); end; |
AW: Procedure in Procedure aufrufen klappt nicht
Ich hab das jetzt so und jetzt kommt wieder "Error Duplicate identifier"Position".
was ist denn falsch?
Delphi-Quellcode:
implementation
{$R *.lfm} { TForm1 } procedure String_Zaehler(s:string;var position:integer); begin position:=pos('edit1.text',s); end; procedure zeichenanhaengen(VAR s:string); begin end; procedure TForm1.Button1Click(Sender: TObject); var posi: integer; dateiname,s: string; datei:textfile; position:integer; begin if opendialog1.execute then begin dateiname:=opendialog1.filename; showmessage(dateiname); ASSIGNFILE(datei,dateiname); RESET(datei); while not eof(datei) do begin Readln(datei,s); String_Zaehler(s,position); label2.caption:=inttostr(position); end; end; Closefile(datei); end; |
AW: Procedure in Procedure aufrufen klappt nicht
Häng doch mal das gesamte Project als Anhang dran ...
|
AW: Procedure in Procedure aufrufen klappt nicht
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 Label2Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure String_Zaehler(s:string;var position:integer); begin position:=pos('edit1.text',s); end; procedure zeichenanhaengen(VAR s:string); begin end; procedure TForm1.Button1Click(Sender: TObject); var posi: integer; dateiname,s: string; datei:textfile; position:integer; begin if opendialog1.execute then begin dateiname:=opendialog1.filename; showmessage(dateiname); ASSIGNFILE(datei,dateiname); RESET(datei); while not eof(datei) do begin Readln(datei,s); String_Zaehler(s,position); label2.caption:=inttostr(position); end; end; Closefile(datei); end; procedure TForm1.Label2Click(Sender: TObject); begin end; end. |
AW: Procedure in Procedure aufrufen klappt nicht
Du hast da wohl irgendwo etwas mit
Delphi-Quellcode:
benannt und das knallt jetzt.
Position
Versuch das einmal
Delphi-Quellcode:
implementation
{$R *.lfm} { TForm1 } procedure String_Zaehler(const AStr : String; var APosition : Integer ); begin APosition := Pos( 'edit1.text', AStr ); end; procedure zeichenanhaengen( var AStr : String ); begin end; procedure TForm1.Button1Click( Sender: TObject ); var LPosi : Integer; LDateiname, LS : String; LDatei : Textfile; LPosition : Integer; begin if OpenDialog1.Execute then begin LDateiname := OpenDialog1.Filename; ShowMessage( LDateiname ); AssignFile( LDatei, LDateiname ); Reset( LDatei ); while not Eof( LDatei ) do begin Readln( LDatei, LS ); String_Zaehler( LS, LPosition ); Label2.Caption := IntToStr( LPosition ); end; end; CloseFile( LDatei ); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz