German Programm-Versuch

Ida

Member
Licensed User
Longtime User
:sign0085:

Hallo,

nach diversen Hilfestellungen von Euch habe ich ein kleines Progrämmchen gebastelt. Leider klappt nicht alles so, wie es sollte.

Könnte wohl bitte einer von Euch (evtl. auch specci48 ...) mal auf den Code gucken?

Danke für jede Hilfe!

Und bitte nicht schimpfen über so viel Unwissenheit!

Gruß

Ida

Zip mit *.spb + *.csv habe ich hier mitgeschickt
 

Attachments

  • Lizenzen.zip
    2.5 KB · Views: 240

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Ida,

Könnte wohl bitte einer von Euch (evtl. auch specci48 ...) mal auf den Code gucken?
... aber gene doch. :)

Da Du allerdings keine konkreten Fragen gestellt hast kann ich zu Deinen kleinen Problemchen nur Vermutungen anstellen. :sign0013:
Im Anhang habe ich folgende Überarbeitungen vorgenommen:
1. Die Spaltensummierung über den Preis habe ich der aktuell verwendeten ListView angepaßt
2. Bei Neuaufnahme einer Zeile über "Button1" werden erst einmal Default-Werte und der eingegebene Preis übernommen
3. Außerdem wird nun der Preis (auch als Summe) jeweils auf zwei Nachkommastellen formatiert. Das sieht m.E. besser aus.

Der Rest funktioniert ja soweit. Falls Du weitere Hilfe/Tipps/Anregungen benötigst, bitte etwas konkreter werden... ;)


Viele Grüße
specci48
 

Attachments

  • Lizenzen-1.sbp
    6.8 KB · Views: 245

Ida

Member
Licensed User
Longtime User
@specci48:
vielen Dank für Deine Antwort!
Nun kommt zum ersten Mal bei mir keine Fehlermeldung mit "Deiner" Version meines Progrämmchens. Danke!!!

Ich habe halt viel in der vergangenenen Woche ausprobiert ...

Als konkretes Problem:

Ich möchte gerne so eine Liste (wie mit LV) als erstes Fenster anzeigen lassen.
Anschließend würde ich gerne - in einem extra Fenster - die Details zu einer einzelnen Zeile ändern können.
Deshalb schon mal "mein" Menü-Punkt "Edit".

Die "Calendar1"- - u. Button1 - Teile sollten dann sicher auf dieses "Details"-Fenster.

Bitte entschuldige meine Unkenntnis.
Leider weiß ich nicht mal, was am Anfang des *.spb dieses "Zeile (*) .. bedeutet. Ich habe nur gemerkt, dass ich später keine Buchstaben als Muster angeben kann.

Für Deine Geduld mit so einer Anfängerin, wie ich bin, danke ich Dir sehr!
Du hattest mir aber Mut gemacht, mich zu melden ...

Gruß

Ida
 

specci48

Well-Known Member
Licensed User
Longtime User
Hi Ida,

bei der Variablendefinition
B4X:
Dim zeile(5)
handelt es sich um die Definition eines Arrays (schau' hierzu auch mal in die Hilfe => Abschnitt Array Variables)

Mit Hilfe von Arrays lassen sich bequem zusammenhängende Werte in einer einzelnen Variablen(struktur) ablegen. Dim zeile(5) erzeugt ein Array mit Platz für 5 Elementen die wie folgt angesprochen werden:
zeile(0) => repräsentiert den ersten Wert (Achtung: die Zählung beginnt bei Null!)
zeile(1) => repräsentiert den zweiten Wert
zeile(2) => repräsentiert den dritten Wert
zeile(3) => repräsentiert den vierten Wert
zeile(4) => repräsentiert den fünften Wert

Arrays kann man in Basic4ppc auch gut zum erstellen von Tabellenzeilen verwenden. Entweder gibt man die einzelnen Spalten bei AddRow direkt an, z.B.
B4X:
Table1.AddRow(47, "Hallo", 11, "Test", blabla)
(blabla steht hier für eine "Normale" Variable) oder man sammelt die einzelnen Spaltenwerte an verschiedenen Stellen im Programm mit
B4X:
zeile(0) = 47
zeile(1) = "Hallo"
zeile(2) = 47
zeile(3) = "Test"
zeile(4) = blabla
und ergänzt dann die komplette Zeile zur Tabelle
B4X:
Table1.AddRow(Zeile())

Arrays kann man übrigens auch mehrdimensional definieren, z.B. als eine Art Matrix mit 4 Zeilen und 6 Spalten:
B4X:
Dim matix(4, 6)


Und zum Schluss gibt's im Anhang noch eine erweiterte Demo(-version) mit separatem Eingabebild. :)



:sign0136:
specci48
 

Ida

Member
Licensed User
Longtime User
Hallo specci48,

vielen Dank für Deine Antwort mit der Programm-Weiterentwicklung!
Super!:)

Habe heute viel ausprobiert ...

Nun fehlt mir noch die Möglichkeit, die markierte Zeile aus Form1 im Form2 zu editieren - und dann in Form1 wieder zu sehen (u. zu speichern).

Ein Multiline-Textfeld (Notiz) kann man wohl nicht nehmen; im *.csv wird eine neue Zeile erstellt, wenn man im Notiz-Feld in Form2 <Enter> für eine neue Zeile drückt. Schade ...

Hänge "unser" Werk wieder an.

Viele Grüße - und Danke!

Ida
 
D

Deleted member 103

Guest
Hallo Ida,

ich habe in dein Programm ein paar Änderung hinzugefügt, ich hoffe es ist recht so.


Ciao und viel Spass noch beim Programmieren:)
Filippo
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Ida,

Ein Multiline-Textfeld (Notiz) kann man wohl nicht nehmen; im *.csv wird eine neue Zeile erstellt, wenn man im Notiz-Feld in Form2 <Enter> für eine neue Zeile drückt. Schade ...
Prinzipiell ist kann man auch Multiline-Textfelder in einer Tabelle oder ListView ablegen und speichern. Die mehrzeiligen Effekte in der .csv-Datei sind dabei kein Problem, jedenfalls dann nicht, wenn Du die csv-Datei nicht in einem anderen Programm (z.B. Excel) einlesen möchtest. Bei einer "normalen" Tabelle (also Table) kann man diese (mehrzeilige) csv-Datei auch wieder bequem in Basic4ppc einlesen. Die ListView bring hierbei leider einen Fehler, so dass es für Dein Programm (momentan) nicht geht. :sign0013:

Ich habe hierfür in einem neuen Thread eine Anfrage an Filippo gestellt. Vielleicht kann er das Problem(chen) ja beheben.


Ach ja, und im Anhang findest Du die aktivierte Edit-Funktion. :)


Gruß
specci48
 
Last edited:

Ida

Member
Licensed User
Longtime User
Hallo Filippo,

Hallo Ida,

ich habe in dein Programm ein paar Änderung hinzugefügt, ich hoffe es ist recht so.


Ciao und viel Spass noch beim Programmieren:)
Filippo

auch Dir danke ich sehr für Dein Post mit Anhang!

Werde nachher "Deine" Version ausprobieren - wie dann auch die neue Version von specci48.

Melde mich wieder.

Evtl. hast Du ja eine Möglichkeit gefunden, wie man mit Deiner Listview - übrigens ganz toll, gratuliere und Danke - auch Multiline-Felder wieder als csv einlesen kann. (Siehe Thread von specci489

Gruß

Ida
 

Ida

Member
Licensed User
Longtime User
Hallo Ida,


Prinzipiell ist kann man auch Multiline-Textfelder in einer Tabelle oder ListView ablegen und speichern. Die mehrzeiligen Effekte in der .csv-Datei sind dabei kein Problem, jedenfalls dann nicht, wenn Du die csv-Datei nicht in einem anderen Programm (z.B. Excel) einlesen möchtest. Bei einer "normalen" Tabelle (also Table) kann man diese (mehrzeilige) csv-Datei auch wieder bequem in Basic4ppc einlesen. Die ListView bring hierbei leider einen Fehler, so dass es für Dein Programm (momentan) nicht geht. :sign0013:

Ich habe hierfür in einem neuen Thread eine Anfrage an Filippo gestellt. Vielleicht kann er das Problem(chen) ja beheben.


Ach ja, und im Anhang findest Du die aktivierte Edit-Funktion. :)


Gruß
specci48

Hallo specci48,

ich finde es wirklich bemerkenswert, dass Du mir - bei meinem kleinen Progrämmchen - weiter hilfst. Danke!!

Die Version probiere ich aus, melde mich dann.

Ich danke Dir auch, dass Du wegen des Multiline-LV-Problems Filippo angesprochen hast. Dann haben wir evtl. alle etwas von meinen Problemen ...

Gruß

Ida
 

Ida

Member
Licensed User
Longtime User
@ Filippo:

Habe "Deine" Version ausprobiert. Da ich immer einen neuen Datensatz erhielt, habe ich nur den "Doppelklick-Sub übernommen. Die habe ich in die Version von specci48 eingetragen etc. "Seine" Version macht genau das, was ich möchte -editieren.
Vielleicht habe ich auch nicht alle Änderungen von Dir verstanden ...
Vielen Dank !
Das ListView ist wirklich toll! Klick auf den Spaltenkopf, und schon ist alles sortiert - sogar das Datum!


@specci48:

Fantastisch die neue Version! Nun kann ich auch Datensätze ändern. Klappt prima.

Vielen Dank noch einmal!

Darf ich noch weitere Fragen stellen?

Was kann man machen, dass man das Programm nicht einfach beenden kann (z. B. über Klicken auf "X" rechts oben) ohne vorher gespeichert zu haben, wenn sich etwas geändert hat?
In den Zeilen 108-124 befindet sich ein rudimentärer Ansatz von mir dazu, der aber natürlich so nicht geht.

Außerdem muss ich nun je eine Version für WIN und für PPC machen, weil die Screen Size (und damit die Stellung der Objekte) nicht stimmen für den PPC.
Beigefügt ist deshlb mal nur die Lizenzen4WIN.sbp

Gruß

Ida
 

Attachments

  • Lizenzen4WIN.sbp
    14.6 KB · Views: 241

specci48

Well-Known Member
Licensed User
Longtime User
Hallo Ida,

Was kann man machen, dass man das Programm nicht einfach beenden kann (z. B. über Klicken auf "X" rechts oben) ohne vorher gespeichert zu haben, wenn sich etwas geändert hat?
Im Prinzip hast Du ja bereits die richtige Idee gehabt! Die Lösung ist wie folgt:
Die Form1 ist (bei Dir) die Hauptform, da sie als erstes (in der Sub App_Start) mit Show aufgerufen wurde. Beim Beenden des Programms wird diese Form1 somit (als letzes) geschlossen. Das passende Event heißt Form1_Close:
B4X:
Sub Form1_Close
   mnuSaveAsCSV_Click
End Sub

M.E. ist es übrigens sinnvoll, zunächst erst einmal nur eine Version des Programms zu entwickeln - und zwar die für das Device bzw. den PPC.
1. muss man nur einen Code pflegen bzw. entwickeln
2. besteht somit keine Gefahr für unterschiedliche Programmstände
3. besteht somit keine Gefahr, dass man Dinge programmiert, die nachher nicht auf eine Form für den PPC passen!!!

Ich habe daher das Programm im Anhang mal auf Device-Größe gebracht. :)


Gruß
specci48
 

Attachments

  • Lizenzen5.sbp
    14.5 KB · Views: 266

Ida

Member
Licensed User
Longtime User
@specci48:

Danke für Deinen Post mit Anhang! Habe schon mal die neue Version ausprobiert - und den veränderten Code studiert ...
Klappt wunderbar!
Ich werde nun mal einige Tage weiter probieren, schließlich möchte ich Dir - und Euch im Forum - nicht zu sehr auf den Geist gehen.

Übrigens habe ich noch nie eine doppelt große Statuszeile ( gegenüber der Standard) wie jetzt gesehen.
Leider weiß ich nicht, wieso. Hoffe, dass ich irgendwann mehr verstehe ;-)

Danke für Deine Geduld! Hatte extra ein "Eingangs-Fenster" gebaut, wo ich Dir danke. Ist das OK so?

Gruß

Ida
 

specci48

Well-Known Member
Licensed User
Longtime User
Hi Ida,
Hatte extra ein "Eingangs-Fenster" gebaut, wo ich Dir danke. Ist das OK so?
Habe nichts dagegen, sofern Dich das Eingangsfenster bei jedem Programmstart selbst nicht stört... ;)

Übrigens habe ich noch nie eine doppelt große Statuszeile ( gegenüber der Standard) wie jetzt gesehen.
Leider weiß ich nicht, wieso. Hoffe, dass ich irgendwann mehr verstehe ;-)
Hierzu vielleicht eine kurze Erläuterung, was ich gemacht habe:
Im Programm hattest Du drei Felder auf die Form1 "gepackt": LblAnzahl, LblSumme und LblSpeichern. Bei den Feldern LblSumme und LblSpeichern war allerdings die Eigenschaft Visible (siehe Checkbox im Designer) deaktiviert, so dass die Inhalte niemals sichtbar waren. Als Workaround hattest Du dann sämtlichte Informationen in das Feld LblAnzahl gestellt:
B4X:
   LblAnzahl.Text= _
   "Anzahl: " & row + 1 & " von " & lv.RowCount & _
   "   " & LblSpeichern.Text & _
   "    " & LblSumme.Text
Erstens ist diese Vorgehnsweise "unschön", und Zweitens ergab sich durch die Verkleinerung der Form dabei ein Platzproblem. Also habe ich die beiden Felder wieder auf Visible gesetzt und LblAnzahl nur noch mit der Anzahl gefüllt. :)

Das Feld LblSpeichern kann jetzt übrigens auch komplett entfallen, da beim Programmende nun automatisch gespeichert wird. Damit hätte man auch wieder mehr Platz für die anderen Elemente.


Viele Grüße
specci48
 

Ida

Member
Licensed User
Longtime User
Hi specci48,

auf die Schnelle nur:

natürlich wieder vielen Dank für Dein Post mit den Erläuterungen!

"Auf die Schnelle nur" wegen des gleich anfangenden WM-Quali-Spiel GER-Wales.
Morgen mehr ... vielleicht guckst Du ja Fußball ...?

Deshalb auch in meiner Lizenzen.csv "LigaTotal" von Robert Mützner für Palm; daher komme ich nämlich ...


Gruß

Ida
 

specci48

Well-Known Member
Licensed User
Longtime User
... vielleicht guckst Du ja Fußball ...?
Yup! Und tatsächlich gewonnen - zwar nicht überragend, aber egal. :D

daher komme ich nämlich ...
:confused: Wie meinst Du das? Beziehst Du Dich damit auf die Stadt?
Oder arbeitest Du dort etwa - was mich allerdings sehr wundern würde, schließlich läuft Basic4ppc nun mal nicht auf PalmOS... (mein Palm IIIxe liegt ausgemustert irgendwo im Keller :sign0137:)
 

Ida

Member
Licensed User
Longtime User
Yup! Und tatsächlich gewonnen - zwar nicht überragend, aber egal. :D
immerhin, 3 Punkte!

:confused: Wie meinst Du das? Beziehst Du Dich damit auf die Stadt?
Oder arbeitest Du dort etwa - was mich allerdings sehr wundern würde, schließlich läuft Basic4ppc nun mal nicht auf PalmOS... (mein Palm IIIxe liegt ausgemustert irgendwo im Keller :sign0137:)

Ich hatte mich damit auf mein PDA-Leben bezogen. Das fing an mit einem Palm Tungsten T3 - der lebt mit dem 2. neu eingebauten Akku immer noch - , danach ein Palm centro. Auf dem T3 läuft seit Jahren LigaTotal, ein Ligen- und Turnier-Verwaltungs-Programm (Palm). Ich finde es super, da auch die Tabellen etc von Robert Mützner gepflegt werden.
Nun habe ich einen HTC Touch 3G seit 1 Monat; da bin ich über Basic4PPC und das tolle Forum "gestolpert".

Hoffe etwas zur Klärung beigetragen zu haben ...

Gruß

Ida
 
Top