AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

Ein Thema von knocko · begonnen am 9. Jun 2008 · letzter Beitrag vom 9. Jun 2008
Antwort Antwort
knocko

Registriert seit: 9. Jun 2008
14 Beiträge
 
#1

Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 14:34
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:
schueler[0] := StrToInt(Edit6.Text);
  schueler[1] := StrToInt(Edit7.Text);
  schueler[2] := StrToInt(Edit8.Text);
  //...usw
  Form2.Show();
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.

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:
StringGrid1.Cells[1,1] := IntToStr(Unit1.Form1.schueler); bzw.

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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 14:45
Wo in Unit2 erfolgt diese Anzeige?
[Edit:Wo bleibt der rote Kasten?]
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#3

Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 14:48
Also mir fällt zunächst mal folgendes auf:

Zitat:
Unit1 Quelltext
Delphi-Quellcode: markieren
schueler[0] := StrToInt(Edit6.Text);
schueler[1] := StrToInt(Edit7.Text);
schueler[2] := StrToInt(Edit8.Text);
//...usw
Form2.Show();


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.
Du trägst die Werte aus den Editfeldern in das Array ein - ok. Aber erst DANACH zeigst du das Form an. So kann das nicht funktionieren.
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
knocko

Registriert seit: 9. Jun 2008
14 Beiträge
 
#4

Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 14:52
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
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#5

Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 14:58
Zitat von knocko:
Wieso geht doch?

Ob ich erst Form anzeigen lasse oder nicht ist doch egal.
Zumindest geht es mit beiden Varianten.
Ja, hab nicht richtig hingeschaut
Da bist du in Form1 und willst Form2 anzeigen, ist ok.
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 15:05
Das habe ich gesehen, ab nicht zu welchem Zeitounkt du den array füllst. ich vermute erst nachdem du dessen Inhalt ins Grid kopierst
Markus Kinzler
  Mit Zitat antworten Zitat
knocko

Registriert seit: 9. Jun 2008
14 Beiträge
 
#7

Re: Variable (bzw Array) von Unit1 an Unit2 übergeben. Wie?

  Alt 9. Jun 2008, 15:06
Richtig!

Das ist das was ich auch schon herausbekommen habe hehe.

Aber danke für deine / eure Hilfsbereitschaft!
  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 13:15 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