![]() |
Delphi-Version: 2010
Text aus TEdit auslesen
Hab ein Problem.
Eigentlich sollte es kein Problem sein, aber irgendwie mach ich was falsch. Also ich habe 2 Formulare..Form1 und Form2...und Form2 enthält mehrere TEdit Felder. Nun soll bei einem Klick auf einem Button in Form 1 der Text aus Form2 ausgelesen werden. Doch ich hänge schon bei dem auslesen des Textes in Form2...viel Text und kein Code nützt auch nichts, also hier: Form2:
Delphi-Quellcode:
Noch Form 1 der entsprechende Teil:
Unit Anzeige;
Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; Type TForm2 = Class(TForm) Feld00: TEdit; Feld01: TEdit; Feld02: TEdit; Feld03: TEdit; Feld04: TEdit; Feld05: TEdit; Feld06: TEdit; Feld07: TEdit; Feld08: TEdit; Feld10: TEdit; private { Private-Deklarationen } public Function outFeld00: integer; End; Var Form2: TForm2; Implementation {$R *.dfm} { TForm2 } Function TForm2.outFeld00: integer; Begin Result := StrToInt(Feld00.Text); // <---- hier steckt der Fehler End; End.
Delphi-Quellcode:
Procedure TForm1.Button2Click(Sender: TObject);
Var i, x, y, z: integer; Begin x := 0; y := 0; z := 1; Sudoku[0, 0] := Form2.outFeld00; End; End. |
AW: Text aus TEdit auslesen
Und welcher Fehler?
|
AW: Text aus TEdit auslesen
Zitat:
Zitat:
|
AW: Text aus TEdit auslesen
Form2 existiert zu diesem Zeitpunkt bereits?
|
AW: Text aus TEdit auslesen
Man merke sich :
$00000388 >>> $0000xxxx (x = ignorieren) >>> $00000000 >>> 0=nil >>> etwas existiert nicht, bzw. sein Zeiger steht auf nil Wenn der Zeiger nicht auf nil steht und es dennoch nicht existert, dann wird's erst spaßig ... aber wir initialisieren unsere variablen ja immer brav, damit sowas nicht passiert. :angle: PS: Beim Debuggen würde dir der Debugger sagen, daß Form2 oder Feld00 vermutlich nil ist und schon hätte man den Fehler selber gefunden. Wobei Feld00 doch vermutlich auf der Form2 liegt, demnach würde der VCL-Loader das erstellen und das Feld (Feld00) befüllen ... also bleibt nur noch Form2 :angle2: |
AW: Text aus TEdit auslesen
ich denke schon..es ist auf jedenfall sichtbar:
Delphi-Quellcode:
Procedure TForm2.FormCreate(Sender: TObject);
Begin Visible := True; End; |
AW: Text aus TEdit auslesen
und wie muss ich form2 dann erstellen und wo?
|
AW: Text aus TEdit auslesen
Zitat:
[edit] Ist Form2 von der automatischen Erstellung ausgenommen? Oder rufst Du Deinen Code bereits im FormCreate von Form1 auf? [/edit] |
AW: Text aus TEdit auslesen
Entweder du läßt es automatisch erstellen, so wie Form1 auch ... siehe Projektoptionen, bzw. in der Projektdatei (*.dpr).
Oder man erstellt es so, wie jedes andere Objekt auch >>> .Create :roll: @DeddyH: Da steht nicht, daß die wirklich auf der Form liegen ... man könnte auch die Felder per Hand in die Klasse geschrieben haben. :stupid: |
AW: Text aus TEdit auslesen
also in den Projektoptionen steht Form1 und Form2 automatisch erzeugen...also müsste es doch eig. gehen
|
AW: Text aus TEdit auslesen
Zitat:
Zitat:
|
AW: Text aus TEdit auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Also diese funktion wird beim Klick auf tButton in Form1 aufgerufen....ich häng mal meine Datei an...
|
AW: Text aus TEdit auslesen
Und wo wird Formular2 angezeigt?
Delphi-Quellcode:
:roll:
Procedure TForm1.Button2Click(Sender: TObject);
Var i, x, y, z: integer; Begin x := 0; y := 0; z := 1; Sudoku[0, 0] := Form2.outFeld00; { While x < 9 Do Begin Sudoku[x, y] := StrToInt(SudokuZahlen.Text[z]); z := z + 1; y := y + 1; If y = 8 Then Begin x := x + 1; y := 0; End; End; } End; |
AW: Text aus TEdit auslesen
Zitat:
|
AW: Text aus TEdit auslesen
Das kommt hinzu. Aber er übergibt an sein Array einen Wert, der noch gar nicht existiert, da der Benutzer noch gar nichts eingegeben hat, weil er gar nichts eingeben konnte, da das Formular ja gar nicht angezeigt wird. Ich glaube, da hapert es noch etwas am Verständnis, wie die anwendung funktionieren soll.
|
AW: Text aus TEdit auslesen
Das Formular wird sehr wohl angezeigt. Dass man besser TryStrToInt oder StrToIntDef benutzen sollte ist allerdings korrekt.
|
AW: Text aus TEdit auslesen
Mist. Ich dachte das wäre das Formular im Editor. :mrgreen:
|
AW: Text aus TEdit auslesen
okay, jetzt funktioniert es.
Aber Try muss ich doch gar nicht, oder...man kann ja nur zahlen eingeben |
AW: Text aus TEdit auslesen
Gib mal nix ein und klick dann den Button.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:35 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