![]() |
Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
EDIT
glaub hab den Fehler!!! Braucht also den Text nicht lesen Update kommt demnächst EDIT Mein Fehler war, dass ich ausversehen die Werte eintragen lassen hab, während das Formular 2 erstellt wurde.. Da war natürlich noch nix in den Arrays drin. *doing* Sorry für diesen Nerd Post :) Vllt hilft es ja doch jemanden, in der Fehleranalyse *g* __________________________________________________ __________________________________________________ ________________ Hi Community... Ich bastel gerade ein kleines Programm für die Schule. Und zwar sollen wir in dem Programm angeben können, wieviel Schüler welche Note bekommen. Z.B. haben wir insg. 1500 Schüler auf der Schule Davon haben z.b. - 1000 Schüler Note 1 - 200 Schüler Note 2 - 100 Schüler Note 3 ... usw bis die 1500 verteilt sind... Jetzt hab ich mir gedacht, dass ich mir mehrere EditBoxen erstelle und alles in ein Array speichere. Dieses Array soll dann in eine andre Unit (Unit2) übergeben werden, in der es dann zu einer Auswertung des ganzen kommt, wie z.B. Gesamtdurchschnitt oder prozentuale Angaben von den Schülern mit ihren Noten (also wieviel Prozent haben Note 1 geschafft usw) Irgendwie funktioniert das aber nicht. Ich hab in Unit2 unter "uses" noch Unit1 eingebunden. Anschließend hab ich in Unit1 die Variable "schueler" global gesetzt. Unit1 (die Unit in der die Daten eingegeben werden)
Delphi-Quellcode:
...
var
schueler: array of [0..16] of integer; Unit1 Quelltext
Delphi-Quellcode:
Ich hab auch getestet, ob die Arrays gefüllt werden, indem ich mit Hilfe von der Taste F7 die Anweisungen einzeln durchgegangen bin. JA die Werte wurden in das Array eingetragen.
schueler[0] := StrToInt(Edit6.Text);
schueler[1] := StrToInt(Edit7.Text); schueler[2] := StrToInt(Edit8.Text); //...usw Form2.Show(); Nun wollt ich das Array an Unit2 übergeben und dort in einer Gesamtübersicht anzeigen lassen. Unit2
Delphi-Quellcode:
...
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Series, StdCtrls, Grids, Unit1; Unit2 Quelltext (an dieser Stelle sollen die Werte erst einmal in eine Tabelle eingetragen werden)
Delphi-Quellcode:
StringGrid1.Cells[1,1] := IntToStr(schueler[0]);
StringGrid1.Cells[2,1] := IntToStr(schueler[1]); StringGrid1.Cells[3,1] := IntToStr(schueler[2]); //... usw Allerdings ist bei jeder Variable der Wert "0". Ich hab es auch mit Alternativen getestet, wie z.b. eine "normale" Variable, anstatt eines Arrays. Im Internet wurde gesagt es geht so:
Delphi-Quellcode:
bzw.
StringGrid1.Cells[1,1] := IntToStr(Unit1.Form1.schueler);
Delphi-Quellcode:
StringGrid1.Cells[1,1] := IntToStr(Unit1.schueler);
Beide Varianten funktionieren nicht. Wobei ich bei der zweiten Variante sagen muss, dass mir das Delphiprogramm in dieser "Programmhilfe" schon die Variable "schueler" aufgelistet hat. Nur der Wert ist auch hier "0" ... Weiß jemand wieso er immer die Variable den Wert 0 besitzt? PS: Ich denke mein Quelltext ist bei Weitem nicht der Schönst. Sicherlich wäre das durch eine Schleife wesentlich schöner. Aber meine Methode MÜSSTE auch gehen. Und wenn die Übergabe der Variable funktionieren sollte und ich im groben fertig bin, dann würd ich mich nochmal dran machen den Quelltext zu überarbeiten! :) Bitte nicht runtermachen |
Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Wo in Unit2 erfolgt diese Anzeige?
[Edit:Wo bleibt der rote Kasten?] |
Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Also mir fällt zunächst mal folgendes auf:
Zitat:
|
Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Wieso geht doch?
Ob ich erst Form anzeigen lasse oder nicht ist doch egal. Zumindest geht es mit beiden Varianten. PS: Was für einen roten Kasten meint ihr ? :) mkinzler -> Die Anzeige erfolgt in der StringGrid. Allerdings hab ich die Arrays eintragen lassen, wo Form2.Create ausgeführt wird. Sorry wirklich dummer Fehler der mir erst jetzt (nach 1h ^^) aufgefallen ist |
Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Zitat:
Da bist du in Form1 und willst Form2 anzeigen, ist ok. |
Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Das habe ich gesehen, ab nicht zu welchem Zeitounkt du den array füllst. ich vermute erst nachdem du dessen Inhalt ins Grid kopierst
|
Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Richtig!
Das ist das was ich auch schon herausbekommen habe hehe. Aber danke für deine / eure Hilfsbereitschaft! :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 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 by Thomas Breitkreuz