Hallo ComFreek,
ich versuche es mal mit einer groben Übersicht, zu dem, was ich vorhabe, wozu ich immerwieder auf Euere Hilfe zurückgreife, indem ich Fragen stelle, die für Euch keine sind.
Der 1. Programmteil besteht besteht auf Seite1 im Fenster "Form1", ich habe Form1 mit 5 Seite(tabPage1 bis 5) angelegt. Also auf Seite1 sind 4 Eingabefelder für den 1., 2., 3. und 4.String angelegt. Nach jedem String kommt eine Dialogauswahl wie "Cancel" oder "Ok", nach der Eingabe über die Tastatur, sowie dem Anklicken, folgt ein Ereignis, entweder verworfen
und es muß neu eingegeben werden(Schreibfehler oder so) oder es geht weiter zum Ereignis, wonach die zwischenden Geschweiften einzusetzende Anweisung im Programmverlauf abgearbeitet wird. Dies Abfrage habe ich, damit ich den jeweiligen String nochmal ansehen kann, ob ich alles richtig eingetippt habe, bevor ich Ok anklicke. Denn danach geht es in den jeweils folgenden Anweisungen zu diversen Berechnungen. Soweit ist alles klar und es bedarf keiner weiteren Frage. Wenn nun nacheinander alle 4 Strings nach dieser Methode eingegeben wurden, dann wird in den Anweisungen folgendes abgearbeitet:
Der 1. String besteht aus 17 Stellen(11 Buchstaben und 6 Zahlen), hierfür wird ein neuer String erzeugt, welcher nur noch die 6 Zahlen enthält.
Es ist damit der 1. Neustring im Programm und wird später gebraucht.
Der 2. String besteht aus 8 Stellen und enthällt 8 Zahlen, aus welchen eine Zahl errechnet werden soll. Dies ist, Dank Cromon, automatisiert.
Diese Zahl wird dann, Dank Deiner Hilfe mit Deiner "String-Tabelle" in einen Alphanumeric umgewandelt. welches dann die 1. Prüfziffer(Checksum) für den 2. String(welcher ein Code ist) gebildet hat.. Dies ist das erste Ergebnis, was ich erzielen möchte. Das Selbe passiert mit dem 3. und 4. String, wobei hierfür aber jeweils ein 3. und 4. Neustring gebildet wird, denn aus dem 1. NeuString und dem 3. String wird der 3.Neustring, welcher der Berechnung laut Cromon zugeführt wird und anschliessend noch mit Hilfe Deiner "String-Tabelle" wird das Ergebnis zu der Prüfziffer
für den 3. String(welcher ein Code ist). Also damit habe das zweite Ergibnis erzielt. Beim 4. String ist es auch so, aus 1. NeuString und 4. String wird der 4. Neustring gebildet und kommt zur Berechnung mit anschliessender Umwandelung zu einer Prüfziffer, damit ist das dritte Ergebnis erzielt und der 1. Programmteil erledigt. Laut meiner Codierung, welche in Deine "String-Tabelle" eingeflossen ist(bei mir "Alphanumerics") und der automatischen Berechnung laut Cromon, erscheint bis hierhin alles klar.
Doch nun zum weiterem Verlauf des Programmes. Es geht auf die die Seite2 von "Form1". Hier fließt dann später auch der 1. NeuString mit den 6 Zahlen wieder mit ein, welche ja aus dem 1. String stammen.
Aber nun müssen anstelle des 2., 3. und 4. String, total neue Strings gebildet werden. Dies geschiet bei dem 2. TotalNeuString durch 8 Groupboxen mit Buttons, wovon immer nur ein Button zur Auswahl kommt, was einer Option gleich kommt. Diese Optionen habe alle einen anderen Wert, wobei es aber im Rahmen der einstelligen Hexzahlen bleibt, wo ja Dez oder Hex gleich sind. Hier habe ich nach der Buttonauswahl das Cancel oder Ok eingerichtet, damit ich nochmal alles auf Richtigkeit überprüfen kann, bevor ich Ok anklicke. In dem anschliessendem Ereignis muß zuerst der 2. TotalNeustring angelegt werden und anschliessend mit den Werten der ausgewählten Buttons/Optionen gefüllt werden, hier sind es nur einstellige Zahlen von 1 bis 7(als Beispiel) und es ist egal ob hex oder dez, wobei es eigentlich schon hex sein sollten, aber scheint nicht ganz so wichtig.
Aber wie kriege ich die Werte in den String, denn es sind zur Zeit ja Variablen. Hier liegt zur Zeit mein Knackpunkt, ich würde aus den Variablen laute kleine Strings machen und zusammenfügen. Aber es sollte es was Anderes geben, dann würde ich es vielleicht anderst machen.
Wenn denn alles klappt, dann ist der 2. TotalNeuString fertig und damit auch ein erster Code, der berechnet werden kann und damit auch eine Prüfziffer laut der "String-Tabelle" bekommt.
Nun geht es auf die Seite3 des "Form1", wo dann mit Hilfe von 16 Checkboxen mit jeweils 4 Kontrollkästchen eine Auswahl stattfindet. Auch bei der einen oder anderen Checkbox gibt es die Möglichkeit, daß nichts ausgewählt wurde, was zu dem Wert 0 führt, was auch so gewollt ist.
Aber bei irgendwelchen Auswahlen ergeben sich nur die Werte als Zahlen
von 1 bis 15, welche aus 1, 2, 4, 8 gebildet werden. Aber nochmal zurück zu 0 bis 15, dies sind dann auch die Zahlen, aus denen die HexZeichen für den neu zu bildenden 3. TotalNeuString bestehen sollen. Also ich habe auf der Seite3 die Auswahlen getroffen, ich habe auch hier Cancel und Ok eingerichtet. Nach dem Klick auf Ok findet das Ereignis statt. In der Anweisung wird zuerst der 3. TotalNeuString angelegt, die Zahlen 0-15 in HexZeichen umgewandelt und nun müßten diese HexZeichen irgendwie in den 3. TotalNeuString hinein. Also auch hier bin ich in der gleichen Situation wie schon weiter vor.
Ich möchte auch gleich zur Seite4 von "Form1" weitergehen, auch wenn es hier genauso ist wie auf Seite3, nur es sind nur 10 Checkboxen mit 4 Kontrollkästchen, welche ein Häkchen zum Anwählen bekommen. Auch hier Cancel und Ok eingerichtet und nach OK, in der Anweisung den 4. TotalNeuString bilden und die entsprechenden Werte einfügen.
Ja um es nicht zu vergessen, natürlich folgt, für alle TotalNeuStrings die Berechnung der Prüfziffern, denn ohne diese sind die neu erstellten Codes wertlos.
Auf der Seite5 möchte ich dann den letzten Programmteil, worin der 1. String, der 2. String, der 3. und 4. String mit den entsprechenden Prüfziffern ausgedruckt wird. Weiterhin sollen der 2. TotalNeuString, der 3. TotalNeuString und der 4. TotalNeuString mit den Entsprechenden Prüfziffern ausgedruckt werden. Vielleicht noch Datum etc..
So nu mache ich mal Schluß, wenn auch noch einiges offen ist, aber bevor ich nur noch auf der Stelle trete, da warte ich lieber auf weiter Fragen von Euch.
Viele Grüsse
Duda