![]() |
Unterprogramm auf Oberfläche(VCL) beziehen
HI,
kann mir jemand sagen wie ich elemente auf der Oberfläche im Unterprogramm mit einbeziehen kann??? z.B.: Stringgrid : Daten in eine Spalte legen -> Programmcode soll im Up liegen Danke im Vorraus für eure Hilfe |
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Häh? :gruebel: Was willst Du?
|
Re: Unterprogramm auf Oberfläche(VCL) beziehen
ich würde gerne mit einem befehl aus nem Unterprogramm
zum beispiel auf stringgrid oder label zugreifen das auf der oberfläche liegt irgendnen wort einfügen oder so procedure Unterprog; kann ja nciht auf oberfläche zugreifen -> muss ich da irgendwelche parameter oder so anfügen?????????????????? |
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Zitat:
heißt übersetzt "Ich möchte in einem Unterprogramm Daten in eine Spalte eines TStringGrid schreiben" Lösung 1: Das Unterprogramm ist eine Methode des Forms in dem das Stringgrid liegt, dann kann es direkt angesprochen werden. Lösung 2: Das Unterprogramm wird zwar aus einer Methode des Forms angesprochen, das Form liegt aber nicht im Scope des Unterprogramms. Dann braucht das Unterprogramm einen (zusätzlichen) Parameter vom Typ TStringGrid in den es seine Daten schreiben kann. Beim Aufruf gibt man dann das gewünschte StringGrid als Parameter mit. |
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Ich beginne zu ahnen was du meinst.
Entweder du schreibst den Bezeichner (StringGrid1) immer davor oder du machst die Routine zu einer Methode der Form. Mist ich brauche eine neue Glaskugel, meine ist zu langsam. :roll: |
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Zitat:
|
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Boah. Ganz ehrlich: Aus der Originalfrage wäre ich NIE im Leben auf die gemeinte Frage gekommen. Dafür kann ich zu gut Deutsch... Wie wärs wenn man fragt:
"Ich will aus einem Unterprogramm auf ein Control auf der Oberfläche zugreifen. Wie schreibe ich z.B. aus einer Prozedur Daten in ein Stringgrid?" Das wäre mal ne Frage, da kann man drauf antworten. Zudem hätte ich dann gewusst, dass das hier die falsche Sparte ist, und das zu VCL / Controls gehört. Also: Die Lösungen waren schon genannt. Entweder, Du hast die Methode schon auf dem Form. Dann kannst Du mit Controlname. auf das Control zugreifen. Bist Du nicht im Form sondern in einer anderen Unit, so musst Du das Formular in die Uses-Klausel Deiner Unit aufnehmen und kannst dann mit FormName.Controlname. darauf zugreifen. |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.
Falsche Sparte |
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Jo
Danke erstmal könntet ihr mir vllt noch kurz nen einfaches Bsp. aufschreiben plz (Und sry wegen der Gram/Rechtschr ich mach das in Foren meist wie in chats muss ich mir abgewöhnen -> alles klein und so fast ohne Punkt und Komma) |
Re: Unterprogramm auf Oberfläche(VCL) beziehen
Angenommen im Form1 soll beim Klick auf Button1 das StringGrid1 mit Daten gefüllt werden. Dazu gibt es irgendwo eine Prozedur, die ein TStringGrid mit Daten füllt und die hat diese Signatur:
Delphi-Quellcode:
Im Form haben wir dann die Methode
procedure FillStringGrid(Target: TStringGrid);
Delphi-Quellcode:
[OT]Nur meine persönliche Meinung: Eine klare und verständliche Formulierung erhöht nicht nur die Wahrscheinlichkeit einer schnellen und korrekten Antwort, sondern zeugt auch von Respekt vor dem Lesenden.
procedure TForm1.Button1Click(Sender: TObject);
begin FillStringGrid(StringGrid1); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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