[Visual Basic] Auslesen von Daten

Bibba

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen :)

Und zwar geht es um folgendes. Ich schreibe per Visual Basic Programme für Produkte die gestanzt werden müssen.

Jetzt gibt es Produkte die nur in der Länge gedreht werden müssen. Dass heißt im einen Produkt steht nur die "Formel" für die Berechnung der 1. Stanzung. In dem anderen Produkt steht "Laenge - Formel".

Jetzt will ich ein kleines Programm schreiben welches die Formel ausließt und vergleicht, und falls nötig die Stanzung einfach zu drehen.

Das Programm schreibe ich aus dem Sinn, da es bis zu 10000 Stanzungen sind, und alle ab zuändern ist etwas aufwendig. Auch wenn es am Ende nur zu Copy & Paste kommt, kann es sein dass sich Fehler einschleichen.

Hier einmal ein Beispiel welcher Teil der gedreht wird:
Code:
[SIZE=1]POSITIONEN(1, Laufindex) = 15 + Offset_Matrize_X[/SIZE]
Und zwar wenn ich jetzt so die Position ausgebe wird mir sofort der Zahlenwert ausgegeben. Ich müsste es aber so hin bekommen, dass wenn ich die Position 1 des Laufindex ausgebe ich die Formel "15 + Offset_Matrize_X" bekomme.

Kann mir jmd. helfen wie ich das am besten angehe?

MFG Jens
 
Warum machst du das nicht einfach so, dass du sagt, dass das eine Typ a ist und das andere Typ b und wenn es Typ a ist rechnest du mit der einen Formel und wenn es Typ b ist rechnest du mit der anderen Formel?
 
Hallo Bibba,

wie liegen denn Deine Formeln vor? In einer Text-Datei, Excel oder Hardcodiert im VB-Programm?

Grüße
Gebs
 
Ich hab alle Formeln in Visual Basic geschrieben.

So wie oben der kleine Ausschnitt sind alle Formeln für die Länge in X-Position geschrieben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Bibba,

die Formeln zur Laufzeit aus dem VB-Code auszulesen ist IMHO nicht möglich,
aber wenn die Formeln alle hintereinanderstehen, kannst Du sie recht einfach
in eine Excel-Datei kopieren und mit LTRIM und RTRIM in ihre Bestandteile
zerlegen. In Deinem VB-Programm kannst Du dann diese Datei öffnen und den
Vergleich durchführen.

Grüße
Gebs
 
Naja, dann wäre das ich müsste in Excel rund 10000 Formeln einarbeiten und auslesen. Dass wäre zu viel Arbeit :/

Naja wenn dass nicht geht, dass ich den Wert so wie er in der Variablen hinterlegt ist auszulesen, werd ich wohl ein extra Modul machen müssen wo ich alle 10000 Stanzungen per Hand selber bearbeiten werde.
 
Hallo Bibba,

heisst das, die Formeln stehen im VB-Code verteilt?
Es besteht auch die Möglichkeit die Formeln in eine Text-Datei zu kopieren.
Diese wird dann von einem VB-Programm Zeile für Zeile ausgelesen, der
Vergleich mit der Position(1,x) gemacht und dann kann man die Formel
ermitteln.

Grüße
Gebs
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab hier mal einen größeren Ausschnitt aus den Stanzungen.
So ist es vortlaufend programmiert:
Code:
[SIZE=1]'**************************************************************************************************[/SIZE]
[SIZE=1]'* Postitionberechnung - Stanznr. 9 - Rechteck 8.5 x 8.5[/SIZE]
[SIZE=1]'**************************************************************************************************[/SIZE]
[SIZE=1]Offset_Stempel_X = Stempel_9_Offset_X[/SIZE]
[SIZE=1]Offset_Stempel_Y = Stempel_9_Offset_Y[/SIZE]
[SIZE=1]If Dicke < 1.85 Then[/SIZE]
[SIZE=1]   Offset_Matrize_X = Matrize_9_Offset_X[/SIZE]
[SIZE=1]   Offset_Matrize_Y = Matrize_9_Offset_Y[/SIZE]
[SIZE=1]   Else[/SIZE]
[SIZE=1]       If Dicke >= 1.85 And Dicke <= 2 Then[/SIZE]
[SIZE=1]         Offset_Matrize_X = Matrize_109_Offset_X[/SIZE]
[SIZE=1]         Offset_Matrize_Y = Matrize_109_Offset_Y[/SIZE]
[SIZE=1]       Else[/SIZE]
[SIZE=1]         If Dicke >= 2.5 And Dicke <= 3 Then[/SIZE]
[SIZE=1]           Offset_Matrize_X = Matrize_209_Offset_X[/SIZE]
[SIZE=1]           Offset_Matrize_Y = Matrize_209_Offset_Y[/SIZE]
[SIZE=1]         End If[/SIZE]
[SIZE=1]       End If[/SIZE]
[SIZE=1]End If[/SIZE]
[SIZE=1]P = 2[/SIZE]
[SIZE=1]Q = P_580 + 1[/SIZE]
[SIZE=1]For JI = 1 To Q Step 1[/SIZE]
[SIZE=1]   For JJ = 1 To P Step 1[/SIZE]
[SIZE=1]       Laufindex = Laufindex + 1[/SIZE]
[SIZE=1]       ReDim Preserve POSITIONEN(Array_Spalten, Laufindex)[/SIZE]
[SIZE=1]       POSITIONEN(0, Laufindex) = Laufindex[/SIZE]
[SIZE=1]       POSITIONEN(1, Laufindex) = X_Prog + Laenge - (500 + ((JI - 1) * 580)) + Offset_Matrize_X[/SIZE]
[SIZE=1]       POSITIONEN(2, Laufindex) = Breite - 64 - ((JJ - 1) * 20) - Offset_Stempel_Y[/SIZE]
[SIZE=1]       POSITIONEN(3, Laufindex) = Breite - 64 - ((JJ - 1) * 20) - Offset_Matrize_Y[/SIZE]
[SIZE=1]       POSITIONEN(4, Laufindex) = Offset_Matrize_X[/SIZE]
[SIZE=1]       POSITIONEN(5, Laufindex) = Breite - 64 - ((JJ - 1) * 20)[/SIZE]
[SIZE=1]       POSITIONEN(6, Laufindex) = 0[/SIZE]
[SIZE=1]       POSITIONEN(7, Laufindex) = 9[/SIZE]
[SIZE=1]       POSITIONEN(8, Laufindex) = 9[/SIZE]
[SIZE=1]   Next[/SIZE]
[SIZE=1]Next[/SIZE]
[SIZE=1]'**************************************************************************************************[/SIZE]
[SIZE=1]'* Postitionberechnung - Stanznr. 13 - Rechteck 8.5 x 8.5[/SIZE]
[SIZE=1]'**************************************************************************************************[/SIZE]
[SIZE=1]P = 2[/SIZE]
[SIZE=1]For JJ = 1 To P Step 1[/SIZE]
[SIZE=1]   Laufindex = Laufindex + 1[/SIZE]
[SIZE=1]   ReDim Preserve POSITIONEN(Array_Spalten, Laufindex)[/SIZE]
[SIZE=1]   POSITIONEN(0, Laufindex) = Laufindex[/SIZE]
[SIZE=1]   POSITIONEN(1, Laufindex) = X_Prog + Laenge - (500 + (P_580 * 580) + X) + Offset_Matrize_X[/SIZE]
[SIZE=1]   POSITIONEN(2, Laufindex) = Breite - 64 - ((JJ - 1) * 20) - Offset_Stempel_Y[/SIZE]
[SIZE=1]   POSITIONEN(3, Laufindex) = Breite - 64 - ((JJ - 1) * 20) - Offset_Matrize_Y[/SIZE]
[SIZE=1]   POSITIONEN(4, Laufindex) = Offset_Matrize_X[/SIZE]
[SIZE=1]   POSITIONEN(5, Laufindex) = Breite - 64 - ((JJ - 1) * 20)[/SIZE]
[SIZE=1]   POSITIONEN(6, Laufindex) = 0[/SIZE]
[SIZE=1]   POSITIONEN(7, Laufindex) = 9[/SIZE]
[SIZE=1]   POSITIONEN(8, Laufindex) = 13[/SIZE]
[SIZE=1]Next[/SIZE]

Dass mit der *.txt ist das selbe wie mit der Excel Liste, 10000 Stanzungen hineinkopieren.
 
So wie es aussieht, bleibt Dir wohl leider ncihts anderes übrig, als viel Arbeit
reinzustecken, egal auf welche Weise Du es lösen wirst.

Grüße
Gebs
 
Zurück
Oben