German Finde den Fehler nicht bzw verstehe die Logik nicht ganz.

Leon H.

Member
Wollte einen Rechner für Steel Dart machen in Microsoft Word funzt alles nun ist das hier eine andere Hausnummer vielleicht kann mir ja einer helfen alles zu sortieren verstehe es noch net ganz.
Hier mein quelltext


EDIT: Datei ist angehängt, da wären zu erst das ich net weiß ob alles richtig sotiert ist. Außerdem zeigt es mir an missing "End Sub", was eigentlich nicht sein kann. Zudem wäre es förderlich wenn man mal kurz erklärt wie ich das mit der Bridge zum laufen kriege.

EDIT2: Habe alles überarbeitet, und nach compile and run intalliert er und die App schmiert immer wieder ab außerdem gibt es eine Möglichkeit die APP nachher eigenständig zu nutzen bspw ohne Pc oder Wlan?
 

Attachments

  • dartrechner.zip
    8.5 KB · Views: 314
Last edited:

rboeck

Well-Known Member
Licensed User
Longtime User
Hallo Leon,
einfacher ist es, Du exportierst das Ganze als Zip, damit kann man es leichter importieren und nachvollziehen. Ein paar Worte, wo das Problem genau liegt, wären der Klärung förderlich...
 

rboeck

Well-Known Member
Licensed User
Longtime User
Hier vorerst ein paar Fehler:
B4A gibt einen Gerüst vor, das Du nicht einfach löschen und überschreiben kannst. Dein Projekt hatte mit Process_Globals begonnen danach kamen Deine Subs und das End Sub von Process Globals war irgendwo ganz unten.
Dein größtes Problem ist der sogenannte Default Value von Microsoft Basic: es gibt für viele Objekte eine Standardeigenschaft, die man nicht explizit bennen muss, z. B. die Text Eigenschaft einer Textbox. In VB6 ist es möglich zu schreiben: Text1 ="Test", eigentlich bedeutet der Code aber: Text1.Text="Test".
Dein Sourcecode ist voll von diesen Abkürzungen, bei jeder Checkbox fehlte die Checked Eigenschaft, bei jeder Textbox und bei jedem Label die Text Eigenschaft usw.
Ein weiters Problem: B4A erlaubt das automatische Wandeln von Text in Zahlen, dafür hast Du aber das Problem, dass Leertext nicht verarbeitet werden kann. Hier musst Du dann dafür sorgen, dass mind. 0 als Leerwert dort steht.
Als Anlage findest Du eine zumindest einmal startfähige Variante - es bleibt aber trotzdem noch viel zu tun...
 

Attachments

  • dartrechner.zip
    9.3 KB · Views: 301

Leon H.

Member
Hier ml die neue Version, ich hoffe du findest fehler.
 

Attachments

  • dartcalculator.zip
    9.4 KB · Views: 265
Last edited:

Leon H.

Member
Hier vorerst ein paar Fehler:
B4A gibt einen Gerüst vor, das Du nicht einfach löschen und überschreiben kannst. Dein Projekt hatte mit Process_Globals begonnen danach kamen Deine Subs und das End Sub von Process Globals war irgendwo ganz unten.
Dein größtes Problem ist der sogenannte Default Value von Microsoft Basic: es gibt für viele Objekte eine Standardeigenschaft, die man nicht explizit bennen muss, z. B. die Text Eigenschaft einer Textbox. In VB6 ist es möglich zu schreiben: Text1 ="Test", eigentlich bedeutet der Code aber: Text1.Text="Test".
Dein Sourcecode ist voll von diesen Abkürzungen, bei jeder Checkbox fehlte die Checked Eigenschaft, bei jeder Textbox und bei jedem Label die Text Eigenschaft usw.
Ein weiters Problem: B4A erlaubt das automatische Wandeln von Text in Zahlen, dafür hast Du aber das Problem, dass Leertext nicht verarbeitet werden kann. Hier musst Du dann dafür sorgen, dass mind. 0 als Leerwert dort steht.
Als Anlage findest Du eine zumindest einmal startfähige Variante - es bleibt aber trotzdem noch viel zu tun...

Hey, wärst du noch mal so nett und schaust drüber? Und kannst du EDIT2 beantworten? Danke mfg Leon
 

rboeck

Well-Known Member
Licensed User
Longtime User
Zuerst zu Deiner zweiten Frage: Sicher ist die App selbstständig lauffähig - statt 'Debug' oben auf 'Release' setzen und die App ist unabhängig lauffähig.
Was noch einiges an Arbeit macht: Du hast viele Textfelder, mit denen Du rechnest. Das klappt aber nur dann, wenn ein numerischer Wert, also mind. 0 drin steht; bei Leerwerten crasht die App. Du musst daher absichern und unbedingt eine Rechnung mit Leerwerten vermeiden:

Anstatt 'if d2.checked=true then' eine zusätzliche Prüfung ergänzen mit ' .... and IsNumber(sc2.Text) then'
Damit crasht die App nicht mehr, wenn du leere Textfelder zum Berechnen verwendest. Alternativ kannst du auch dafür sorgen, dass nie ein leeres Textfeld überbleibt und zumindest 0 als Wert enthalten ist.
Sg
Reinhard
 

Leon H.

Member
Zuerst zu Deiner zweiten Frage: Sicher ist die App selbstständig lauffähig - statt 'Debug' oben auf 'Release' setzen und die App ist unabhängig lauffähig.
Was noch einiges an Arbeit macht: Du hast viele Textfelder, mit denen Du rechnest. Das klappt aber nur dann, wenn ein numerischer Wert, also mind. 0 drin steht; bei Leerwerten crasht die App. Du musst daher absichern und unbedingt eine Rechnung mit Leerwerten vermeiden:

Anstatt 'if d2.checked=true then' eine zusätzliche Prüfung ergänzen mit ' .... and IsNumber(sc2.Text) then'
Damit crasht die App nicht mehr, wenn du leere Textfelder zum Berechnen verwendest. Alternativ kannst du auch dafür sorgen, dass nie ein leeres Textfeld überbleibt und zumindest 0 als Wert enthalten ist.
Sg
Reinhard
Es tut mir Leid aber ich verstehe echt nur Bahnhof habe VB6 auch nur in der Schule als Nebenthema. Würde es halt gerne zuende stellen und benutzen.
 

KMatle

Expert
Licensed User
Longtime User
Es tut mir Leid aber ich verstehe echt nur Bahnhof habe VB6 auch nur in der Schule als Nebenthema

Vielleicht fängst du dann besser mit dem Beginner's Guide an: https://www.b4x.com/android/forum/threads/b4a-beginners-guide.9578/

Die Leute hier helfen gerne, aber ein bisschen musst du auch tun :) Du musst auch verstehen, was du da tust. Alles andere bringt echt nichts.

Was Reinhard meinte, gilt grundsätzlich für alle Eingaben in allen Computersprachen: Bevor man mit den Inhalten von Textfeldern (Edittext's) etwas "macht", muss man die Plausibilität prüfen. Braucht man einen bestimmtes Format (numerisch, Text, etc.), dann immer erst mal prüfen (hier: Edittext.Text.isNumber).

Auch die Modi (Release/Debug) solltest du auseinanderhalten können (Release = Du kannst die APK überall installieren, Debug erwartet eine Verbindung zu B4A und ist alleine nicht lauffähig).
 

Leon H.

Member
Vielleicht fängst du dann besser mit dem Beginner's Guide an: https://www.b4x.com/android/forum/threads/b4a-beginners-guide.9578/

Die Leute hier helfen gerne, aber ein bisschen musst du auch tun :) Du musst auch verstehen, was du da tust. Alles andere bringt echt nichts.
).
Dank einer großen Menge an Hilfe, bin ich an meinem Ziel den calculator fertig zu stellen. Letzte Sache; wie kann ich das Icon ändern?
Und für ganz Doofe : "Darf ich diese APK verbreiten"?

Großen dank an Reinhard(!) und an KMatle für die Hilfe. MFG Leon
 
Last edited:
Top