Erz (360): 4.579 Kristalle (150): 2.397
Aluminium (200): 3.139 Energie (65): 111.267
Legierungen (110): 1.639 Credits insgesamt: 340.943,65
dort will ich von erz, alu, leg, kris und enrg jeweils die zahl hinter den doppelpunkten auslesen und sie einer variablen zu weisen so dass ich nacher variablen in integer habe die wie folgt aussehen:
erz=4579;
alu=3139;
leg=1639;
kris=2397;
enrg=111267;
die zahlen in den klammern sowie die späteren variablen (zahlen hinter dem doppelpunkt) sind bei jeder neuberechnung anderst (komplettes memo wird aus externem prog eingefügt). Die Zahlen bewegen sich wahrscheinlic bis in einen bereich von 12 stellen, koennten aber auch mehr sein. aber nicht unendlich.
Jetzt hab ich das problem wie krieg ich des hin? hat vielleicht jemand eine idee oder schon ein fertigen code den man anpassen könnte?
bis jetzt hab ichs mal so probiert:
{© by Himitsu}
{Org by "Jens Schumann"}
Function TForm3.GetNumbers(L: TStrings; aStart, aEnd: String; aPos: Integer): String;
Function DeleteNonNumbers(Const Value: String): String;
Var I: Integer;
Begin
Result := '';
For I := 1 to Length(Value) do Begin
If Value[I] in ['0'..'9', ',', '-'] Then Result := Result + Value[I];
If Value[I] = '.' Then Result := Result + '';
End;
{eventuelle Tausendertrennzeichen entfernen}
End;
Var H: String;
iCnt: Integer;
aCount: Integer;
Begin
Result := '0';
aStart := AnsiUpperCase(aStart);
aEnd := AnsiUpperCase(aEnd);
aCount := 0;
For iCnt := 0 to L.Count - 1 do Begin
H := AnsiUpperCase(L[iCnt]);
If (Pos(aStart, H) > 0) and (Pos(aEnd, H) > 0) Then Begin
Inc(aCount);
If aCount = aPos Then Begin
H := Copy(L[iCnt], Pos(aStart, H) + Length(aStart), Pos(aEnd, H) - Pos(aStart, H) - Length(aStart));
H := DeleteNonNumbers(H);
If H > '' Then Result := H Else Result := '0';
break;
End;
End;
End;
End;
hab damit aber nur erz, alu und leg auslesen können...
würd mich freuen wenn mir jemand helfen könnte...
greetz
centauri