German Tabelle mehrmals aufrufen

Bobbes

Active Member
Licensed User
Longtime User
Hallo Basic4PPC-Gemeinde,
Ihr könnt mir bestimmt weiterhelfen, ich habe das Problem das ich eine Tabelle im Programm aufrufe, sie bearbeite und dann die Form schließe, um eine andere Form zu öffnen. Diese schließe ich dann wieder, um die Form mit der Tabelle wieder zu öffnen. Jetzt ist ja klar das die Tabelle beim ersten Aufrufen erzeugt wurde jetzt vom Programm nochmal erzeugt werden will. Wie kann ich das verhindern.

Danke für Eure Antworten

Gruß Bernd
 

klaus

Expert
Licensed User
Longtime User
Hallo Bobbes
Du kannst eine globale Variable einsetzen. In der Form in welcher die Tabelle ist die beim Ersten Durchgang auf 0 ist und am Ende dieses Durchlaufes auf 1 gesetzt wird. Den Code zur Erstellung der Tabelle gibst Du zwischen If Then/End If. Der Tabellencode wird so nur einmal durchgelaufen.
Das folgende Beispiel ist bestimmt klarer als mein Text.

B4X:
Form2.Show
If Flag=0 Then   
  Table1.AddCol(cString,"First",50)
  Table1.AddCol(cString,"Second",50)
  Table1.AddRow("asd","efwe")
  Table1.AddRow("11123","323145")
End If
Flag=1

Grüsse
Klaus
Switzerland
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo zusammen,

also ich schreibe für so etwas immer eine "Sub Init", die genau einmal beim Programmstart durchlaufen wird.
B4X:
Sub App_Start
    Init
    Form1.Show
End Sub

Sub Init
    ' Einmaliges beim Programmstart   
End Sub
Hat man konstante Daten, so können hier die Variablen und Elemente auch gleich gefüllt werden.
Sofern es veränderbare Daten sind, bietet sich zur Datenaktualisierung die "Sub Form_Show" an, die immer beim erneuten Aufruf einer Form durchlaufen wird. Hier lassen sich prima notwendige Variablenaktualisierungen implementieren.


Viele Grüße
speeci48
 

Bobbes

Active Member
Licensed User
Longtime User
Hallo ihr Beiden,
danke für Eure Antworten.
Jetzt geht es für mich wieder ins Geimpfte (also ins Detail).
Ich werde mich mal mit beiden Versionen beschäftigen, ich melde mich dann.
Gruß Bernd
 

Bobbes

Active Member
Licensed User
Longtime User
Hallo nochmal,

es ein bisschen länger gedauert, aber jetzt funtzts.
Die Version von speccie48 ging gut.
Sorry Klaus

Dank Euch nochmal

Gruß Bobbes
 

specci48

Well-Known Member
Licensed User
Longtime User
Für ein Problem gibt es oft mehrere Lösungen.
:sign0156:


Ich finde die Lösung von specci48 auch besser, sie ist vorallem genereller und würde auch sagen eleganter.
Bitte nicht soviel Lob, sonst glaub' ich noch selbst daran... ;)

Aber im Ernst:
Wichtig ist meiner Meinung nach, dass man ein Programm auch nach einiger Zeit noch lesen und verstehen können muss. Egal welchen Weg man wählt, er sollte verständlich und nachvollziehbar sein. Gerade wenn vielleicht auch andere den Code einmal anschauen oder sogar pflegen wollen.

Ganz nebenbei: Es gibt bei mir ein Programm, dass habe ich schon über vier verschiedene Computersysteme portiert. Bei jedem Umschreiben (es lagen jeweils einige Jahre dazwischen) habe ich die Hände über dem Kopf zusammengeschlagen und gedacht - Mensch, was hast Du (damals) für einen Schei... programmiert!


Viele Grüße
specci48
 

klaus

Expert
Licensed User
Longtime User
Hallo specci 48,
Meist findet man seine eigenen Lösungen die Besten, aber Ich erkenne gerne an wenn jemand eine Bessere findet.

Mit
Aber im Ernst:
Wichtig ist meiner Meinung nach, dass man ein Programm auch nach einiger Zeit noch lesen und verstehen können muss. Egal welchen Weg man wählt, er sollte verständlich und nachvollziehbar sein. Gerade wenn vielleicht auch andere den Code einmal anschauen oder sogar pflegen wollen.
bin Ich total einverstabden!!

Und dieses Erlebniss
Ganz nebenbei: Es gibt bei mir ein Programm, dass habe ich schon über vier verschiedene Computersysteme portiert. Bei jedem Umschreiben (es lagen jeweils einige Jahre dazwischen) habe ich die Hände über dem Kopf zusammengeschlagen und gedacht - Mensch, was hast Du (damals) für einen Schei... programmiert!
habe Ich auch schon mehrmals gemacht, das nennt man ja dann eben Erfahrung.

Grüsse
Klaus
Switzerland
 
Last edited:
Top