![]() |
Prozeduren und Methoden mit Parameter
Hey,
ich fühle mich inzwischen echt schlecht das ich so viele neue beiträge auf mache, aber ich muss bis zumm 26.8 mein programm abgeben und hab noch ein paar fragen die ich so nirgendwo im Internet gefunden haben. und zwar geht es dieses mal um procedure/function ich möchte eine function haben die ca. so aussieht
Delphi-Quellcode:
was mache ich flasch bzw wie muss ich das angehen
function btnReset(x,y,btnbreite,btnhoehe:integer; name:string;sichtbar:boolean):???; //muss man auch was zurückgeben???
var text:string; begin name.setposition(x,y,btnbreite,btnhoehe); //is ja glaub ich klar ich will den butoon an der position haben text:=copy(name,4,length(name); //die namen aller meiner buttons fangen mit btn an und der will ich nicht als caption name.caption:=text; name.visible:=sichtbar; //sichtbar oder halt nicht end; ich falle vor euch auf die knie und bedanke mich für eure antworten und eure geduld:-D thx Finki |
AW: Prozeduren und Methoden mit Parameter
Ich schlage vor, Du ziehst Dir erst mal ein paar Tutorials rein zum Üben. Zu dem Thema z.b.:
![]() oder auch die offizielle Doku: ![]() |
AW: Prozeduren und Methoden mit Parameter
Von welchem Typ ist die Variable, die Du im Parameter
Delphi-Quellcode:
übergeben willst? Ist es
name
[ ] ein String [ ] ein TButton :gruebel: |
AW: Prozeduren und Methoden mit Parameter
Also der Ansatz ist doch schon da. Das Stichwort wonach Du suchen musst ist findcomponent. Darüber wirst Du an Deine Buttons mit Hilfe des Namen kommen
|
AW: Prozeduren und Methoden mit Parameter
Zitat:
|
AW: Prozeduren und Methoden mit Parameter
Zitat:
|
AW: Prozeduren und Methoden mit Parameter
Zitat:
Zitat:
Delphi-Quellcode:
Die Zuweisung innerhalb der Function geschieht via Result:
function MeineFunktion(Wert : Integer) : String;
Delphi-Quellcode:
Der so zugewiesene Wert steht nun in der Funktionsvariablen zur Verfügung.
Result := Wert;
Eine Procedure liefert dagegen keinen Wert zurück; sie wird aufgerufen und macht irgendwas. Natürlich können in der Procedure Parameter als Var deklariert sein, die bei Rückkehr der Procedure ausgewertet werden können. Zitat:
Zitat:
|
AW: Prozeduren und Methoden mit Parameter
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
auch wenn ich jetzt gelyncht werde, wegen fertigen Lösungen... Betrachte es als Denkaufgabe. Bei der Übergabe des Namen des Buttons gibt es ein paar Fallstricke. Deshalb im Beispiel 3 mögliche Wege. Übergabe des Buttons direkt ist natürlich am einfachsten. Frank |
AW: Prozeduren und Methoden mit Parameter
Zitat:
|
AW: Prozeduren und Methoden mit Parameter
Zitat:
ich hab aber ein paar fragen zu dem quellcod 1.
Delphi-Quellcode:
was sagt das nil aus??? (wann und wo kann des verwendet werden)
if AButton <> nil then
2.
Delphi-Quellcode:
ist das MaxInt eine Variable oder ein befehl der die Länge wieder gibt???
AButton.Caption := copy(AButton.Name, 4, MaxInt);
|
AW: Prozeduren und Methoden mit Parameter
1.
Delphi-Quellcode:
ist eine Referenz, also ein Zeiger auf die Instanz.
AButton
Delphi-Quellcode:
beudeutet "nichts". Wenn die Referenz also auf "nichts" zeigt, wie willst du da was verändern können. Um Fehler zu vermeiden, wird also vorher abgefragt, ob die Referenz auf etwas zeigt
nil
2.
Delphi-Quellcode:
ist eine Konstante und beinhaltet den maximalen Integerwert.
MaxInt
Allerdings ist das überflüssig, denn
Delphi-Quellcode:
reicht hier aus ;)
copy( AButton.Name, 4 );
|
AW: Prozeduren und Methoden mit Parameter
gut dann danke ich euch für eure Aufmerksamkeit, Geduld und hoffe das es dann auch in meinem Programm geht :D
mfg Finki |
AW: Prozeduren und Methoden mit Parameter
Zitat:
Besser wäre aber
Delphi-Quellcode:
) zu prüfen.
if Assigned( AButton
Zitat:
|
AW: Prozeduren und Methoden mit Parameter
Zitat:
![]() |
AW: Prozeduren und Methoden mit Parameter
Zitat:
Frank |
AW: Prozeduren und Methoden mit Parameter
Laut Doku:
Zitat:
|
AW: Prozeduren und Methoden mit Parameter
Liste der Anhänge anzeigen (Anzahl: 1)
gut des mit der procedure klappt aber irgend wie öffnet sich mein Savedialog zweimal ich hab keine ahnung warum ich hab mal alles in den anhang gepackt mal sehen vieleicht schaut sich des ja einer an :D
|
AW: Prozeduren und Methoden mit Parameter
Hallo Finki,
du schreibst in deinem Code folgendes:
Delphi-Quellcode:
procedure TForm1.Save(Sender: TObject);
var textb : boolean; texts : string; long, long01, i : integer; begin SaveDialog.Execute; // Hier führst du den SaveDialog bereits das erste Mal aus case SaveDialog.FilterIndex of 2: begin if SaveDialog.Execute then // Und hier schon wieder begin [...] end; end; Das was du vor hast kannst du auch anders umsetzen. In etwa so (ungetestet):
Delphi-Quellcode:
In etwa so könnte man das machen. Habe gerade kein Delphi zur Verfügung, um das Ganze noch vollständig zu testen. Aber ich bin mir sicher, dass du daraus etwas zusammenbauen kannst.
procedure Save;
var SaveDlg : TSaveDialog; begin SaveDlg := TSaveDialog.Create(Self); SaveDlg.Filter := '*.doc | Word 97-2003 Format | *.docx | Word Dokument'; if SaveDlg.Execute then begin Memo1.Lines.SaveToFile(SaveDlg.Filename); // Oder auch weitere Aktionen ausführen end; SaveDlg.Free; end; |
AW: Prozeduren und Methoden mit Parameter
Delphi-Quellcode:
welchen zweg hat das
SaveDlg.Free;
Delphi-Quellcode:
?
.Free
|
AW: Prozeduren und Methoden mit Parameter
Zitat:
BTW Online-Hilfe ![]() |
AW: Prozeduren und Methoden mit Parameter
ich hoffe es ist nicht schlimm das ich nicht jedesmal einen neuen beitrag eröffne (oder ist das gegen die Forumregel?)
ich hätte da mal eine einfache frage: ich hab mir überlegt eine möglichkeit einzubauen den inhalt der memo componente direkt als mail zu versenden. ist das für einen wie mich zukomplex oder geht das im prinzip einfach? (ich glaub ihr kennt inzwischen mein niveau :D ) |
AW: Prozeduren und Methoden mit Parameter
Eine Frage pro Thread
|
AW: Prozeduren und Methoden mit Parameter
ok vielen danke dann werde ich das machen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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