AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Procedurparameter

Ein Thema von blackyhb · begonnen am 27. Sep 2004 · letzter Beitrag vom 27. Sep 2004
Antwort Antwort
blackyhb

Registriert seit: 27. Sep 2004
8 Beiträge
 
#1

Procedurparameter

  Alt 27. Sep 2004, 18:49
Hallo,

bisher habe ich als Anfänger keine Lösung für das Problem gefunden,
edit1.text in einen Procedureaufruf zu bekommen!?

Meine eigene Procedure hat den folgendem Code:

Delphi-Quellcode:
procedure TForm1.teste(mystring:string; var abc, ...:string);
begin
.
.
.
end;
Der eigentliche Proceduraufruf

teste(mystring,edit1.text, ...); führte zur Fehlermeldung, daß die
tatsächlichen und formalen var-Parameter übereinstimmen müssen!

Über eine Lösung oder Infos würde ich mich freuen!

blackyhb
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Procedurparameter

  Alt 27. Sep 2004, 18:51
ist ganz einfach. Edit1.Text ist vom Typ TCaption und diesen kann man nur komplett setzen. Eine Lösung wäre
Delphi-Quellcode:
var LtmpString: String;
begin
  LtmpString := edit1.Text;
  teste(mystring,LtmpString, ...);
  edit1.text := LtmpString;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
blackyhb

Registriert seit: 27. Sep 2004
8 Beiträge
 
#3

Re: Procedurparameter

  Alt 27. Sep 2004, 19:15
Die Lösung ist okay, verlängert den Programmcode jedoch erheblich!

Ist eine Typumwandlung möglich oder
die Verwendung von TCaption in der Prozedur? 8)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Procedurparameter

  Alt 27. Sep 2004, 19:16
TCaption ist auch nur als String deklariert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Procedurparameter

  Alt 27. Sep 2004, 19:19
das Problem ist das ".Text" ein Property ist was nur komplett gesetzt werden kann. Es ist also nicht möglich ".Text[1] := 'c'" zu schreiben eben weil eine Setmethode dahinter steht. Du musst eben wirklich einen var-parameter übergeben oder du änderst die funktion so ab das sie ein TEdit entgegennimmt, dann kannst du auch direkt die ".Text" eigenschaft ändern.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
blackyhb

Registriert seit: 27. Sep 2004
8 Beiträge
 
#6

Re: Procedurparameter

  Alt 27. Sep 2004, 19:36
Wie kann ich die funktion denn ändern?

Hast du einen Beispielcode?

blackyhb
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: Procedurparameter

  Alt 27. Sep 2004, 20:23
Zitat von SirThornberry:
oder du änderst die funktion so ab das sie ein TEdit entgegennimmt, dann kannst du auch direkt die ".Text" eigenschaft ändern.
Delphi-Quellcode:
procedure Foo(Edit: TEdit); //Prozedur, nimmt ein TEdit entgegen
begin
  Edit.Text := 'Foo'; //und greift direkt auf die Text-Eigenschaft zu
end;

Foo(Edit1); //Aufruf
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
blackyhb

Registriert seit: 27. Sep 2004
8 Beiträge
 
#8

Re: Procedurparameter

  Alt 27. Sep 2004, 21:07
Prima und vielen Dank für die Hilfe!

Den Code habe ich angepaßt und alles läuft perfekt!

Mfg

blackyhb
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz