Registriert seit: 20. Feb 2005
108 Beiträge
|
Re: mehrere zahlen aus einen string filtern?
22. Jul 2005, 18:13
guten tag ich habe das jetzt anders gelöst aber damit habe ich ein problen was eigentlich nicht sein dürfte
Delphi-Quellcode:
procedure TForm1.Button68Click(Sender: TObject);
var Pla : integer;
geb,fleet,def,StrZahl : string;
i,posWort,posklam : integer;
begin
Pla := Strtointdef(CBPL.Text,0);
if (pla <1) and (pla>9) then
begin
showmessage('Ungültiger Planet');
exit;
end;
if CBMond.Checked = true then
begin
geb:=memogeb.text;
//fleet:=memofleet.text;
//def:=memodef.text;
{----A--------------------Gebäude-----------------------------}
if geb <>'' then
begin
///////////////////////////////////////////////////////
PosWort:=pos('Roboterfabrik',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mrobf') as TEdit).text :=Strzahl ;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////
PosWort:=pos('Raumschiffwerft',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mraumw') as TEdit).text :=Strzahl ;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
PosWort:=pos('Metallspeicher',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mmets') as TEdit).text :=Strzahl;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
PosWort:=pos('Kristallspeicher',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mkriss') as TEdit).text :=Strzahl;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
PosWort:=pos('Deuteriumtank',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mdeuts') as TEdit).text :=Strzahl;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
PosWort:=pos('Mondbasis',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mmon') as TEdit).text :=Strzahl;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
PosWort:=pos('Sensorphalanx',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<100) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mSen') as TEdit).text :=Strzahl;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
PosWort:=pos('Sprungtor',geb);
PosKlam:=pos(')',geb);
if (PosWort<>0) and ((PosKlam-PosWort)<50) then
begin
for i := PosWort to PosKlam do
begin
If geb[i] in ['0','1','2','3','4','5','6','7','8','9'] Then
Strzahl:= StrZahl+geb[i];
end;
(findcomponent('edtpl'+inttostr(pla)+'mst') as TEdit).text :=Strzahl;
delete(geb,(pos(')',geb)),(pos(')',geb))+1);
Strzahl:='';
end;
///////////////////////////////////////////////////////
end;
{----A--------------------Gebäude-----------------------------}
end;
end;
mein problem es wird alles sehr schön eingelesen bis Sensorphalanx
hir ist der string dazu:
--------------------------------------------------------------------------------------------------
Roboterfabrik (Stufe 2)
Roboterfabriken stellen einfache Arbeitskräfte zur Verfügung, die beim Bau der planetaren Infrastruktur eingesetzt werden können. Jede Stufe erhöht damit die Geschwindigkeit des Ausbaus von Gebäuden.
Benötigt: Metall:1.600 Kristall:480 Deuterium:800
Produktionsdauer: 16m 38s
Ausbau
auf Stufe 3
Raumschiffwerft (Stufe 5)
In der planetaren Werft werden alle Arten von Schiffen und Verteidigungsanlagen gebaut.
Benötigt: Metall:12.800 Kristall:6.400 Deuterium:3.200
Produktionsdauer: 2h 33m 36s
Ausbau
auf Stufe 6
Metallspeicher
Lagerstätte für unbearbeitete Metallerze bevor sie weiter verarbeitet werden.
Benötigt: Metall:2.000 Kristall:0
Produktionsdauer: 16m 00s
bauen
Kristallspeicher
Lagerstätte für unbearbeitetes Kristall bevor es weiter verarbeitet wird.
Benötigt: Metall:2.000 Kristall:1.000
Produktionsdauer: 24m 00s
bauen
Deuteriumtank
Riesige Tanks zur Lagerung des neu gewonnenen Deuteriums.
Benötigt: Metall:2.000 Kristall:2.000
Produktionsdauer: 32m 00s
bauen
Mondbasis (Stufe 4)
Ein Mond verfügt über keinerlei Atmosphäre, deshalb muss vor der Besiedlung eine Mondbasis errichtet werden.
Benötigt: Metall:320.000 Kristall:640.000 Deuterium:320.000
Produktionsdauer: 5 Tage 8h 00m 00s
Ausbau
auf Stufe 5
Sensorphalanx (Stufe 1)
Die Sensorphalanx erlaubt es Flottenbewegungen zu beobachten. Je höher die Ausbaustufe, desto größer die Reichweite der Phalanx.
Benötigt: Metall:40.000 Kristall:80.000 Deuterium:40.000
Produktionsdauer: 16h 00m 00s
----------------------------------------------------------------------------------------------------
könnte einer wissen warum?
Kodex & FAQ :: Index:
2.3.3.1 - Bitte nicht vom Thema abschweifen
|