Avatar billede Slettet bruger
03. december 2009 - 10:42 Der er 5 kommentarer og
1 løsning

Hiv data ud fra en tekst til en database

Hey alle sammen.
Jeg har lige et spørgsmål som nok trækker tænder ud.
Jeg er helt blank på området. Så det skal skæres ud i pap.
Jeg har spurgt om noget ligende før. Men desværre kunne folk ikke hjælpe mig der. Måske fordi det var svært at forklare.

Jeg spiller det spil der hedder ogame.
Og når man laver et angreb i det, får man en kamprapport.
Hvis man så vil poste kamprapporten på et forum, må konventere rapporten om til at være mere læseligt:
Og så ser de sådan ud:

--------------------

At [U]12-01 00:00:49[/U], as it came to a battle:

Attacker [U]User1[/U] [U](X:XXX:XX)[/U]
Weapons: [U]XXX%[/U] Shields: [U]XXX%[/U] Armour: [U]XXX%[/U]
Type: [U]S.Cargo[/U] [U]L.Cargo[/U] [U]Cruiser[/U] [U]Battleship[/U]
Total: [U]8[/U] [U]17[/U] [U]34[/U] [U]2[/U]

Defender [U]User2[/U] [U](X:XXX:XX)[/U]
Weapons: [U]XXX%[/U] Shields: [U]XXX%[/U] Armour: [U]XXX%[/U]
Type: [U]R.Launcher[/U] [U]L.Laser[/U] [U]H.Laser[/U] [U]Ion C.[/U]
Total: [U]5[/U] [U]36[/U] [U]1[/U] [U]4[/U]

After battle...

Attacker [U]User1[/U] [U](X:XXX:XX)[/U]
Type: [U]S.Cargo[/U] [U]L.Cargo[/U] [U]Cruiser[/U] [U]Battleship[/U]
Total: [U]5[/U] [U]17[/U] [U]34[/U] [U]2[/U]

Defender [U]User2[/U] [U](X:XXX:XX)[/U]
destroyed!

He captured
[U]200.000[/U] metal, [U]115.531[/U] crystal and [U]65.523[/U] deuterium.

The attacker lost a total of [U]12.000[/U] units.
The defender lost a total of [U]122.000[/U] units.
At these space coordinates now float [U]1.800[/U] metal and [U]1.800[/U] crystal.
The chance for a moon to be created is 0 %.



--------------------

Nu er det sådan, at jeg gerne vil hive ,rigtigt mange ting ud af denne tekst. Alt det understreget er noget jeg gerne vil hive ud.
Jeg håber så at i kunne få beskrevet grund pricippet i det og jeg på den måde selv kan lave det.

Det sted der kommer til at volde mest problem er dette:

--------------------

Type: [U]S.Cargo[/U] [U]L.Cargo[/U] [U]Cruiser[/U] [U]Battleship[/U]
Total: [U]8[/U] [U]17[/U] [U]34[/U] [U]2[/U]

Defender [U]User2[/U] [U](X:XXX:XX)[/U]
Weapons: [U]XXX%[/U] Shields: [U]XXX%[/U] Armour: [U]XXX%[/U]
Type: [U]R.Launcher[/U] [U]L.Laser[/U] [U]H.Laser[/U] [U]Ion C.[/U]
Total: [U]5[/U] [U]36[/U] [U]1[/U] [U]4[/U]

After battle...

Attacker [U]User1[/U] [U](X:XXX:XX)[/U]
Type: [U]S.Cargo[/U] [U]L.Cargo[/U] [U]Cruiser[/U] [U]Battleship[/U]
Total: [U]5[/U] [U]17[/U] [U]34[/U] [U]2[/U]

Defender [U]User2[/U] [U](X:XXX:XX)[/U]
destroyed!


-----------------

Fordi her kan det jo variere alt efter havd der bliver angrebet med og forsvaret med.
Hvis fx der ikke er nogen Cruiser med. Så skal der bare sendes et "0" i til databasen Det brude da kunne gøres på en måde.

Nogen der kan beskrive dette for mig?
DDD
Avatar billede Slettet bruger
03. december 2009 - 10:57 #1
Hmmm lavede vidst en lillefejl med de der bb-koder.
Og ville vidst understrege lidt for meget.
Dejlig måde at starte på, prøver lige at ligge den ud igen:

At [U]12-01 00:00:49[/U], as it came to a battle:

Attacker User1 (X:XXX:XX)
Weapons: XXX% Shields: XXX% Armour: XXX%
Type: S.Cargo L.Cargo Cruiser Battleship
Total: 8 17 34 2

Defender User2 (X:XXX:XX)
Weapons: XXX% Shields: XXX% Armour: XXX%
Type: R.Launcher L.Laser H.Laser Ion C.
Total: 5 36 1 4

After battle...

Attacker User1 (X:XXX:XX)
Type: S.Cargo L.Cargo Cruiser Battleship
Total: 5 17 34 2

Defender User2 (X:XXX:XX)
destroyed!

He captured
200.000 metal, 115.531 crystal and 65.523 deuterium.

The attacker lost a total of 12.000 units.
The defender lost a total of 122.000 units.
At these space coordinates now float 1.800 metal and 1.800 crystal.
The chance for a moon to be created is 0 %.





Jeg kunne nok også får det til at stå på en anden måde hvis det er nemmer ex:
S.Cargo: 5
L.Cargo: 17
Cruiser: 34
Battleship: 2

isetet for
Type: S.Cargo L.Cargo Cruiser Battleship
Total: 5 17 34 2
Avatar billede fennec Nybegynder
03. december 2009 - 12:13 #2
De understrejninger du har (altså u tags). Står de i rapporten eller er det noget du har indsat for at vise hvad du vil have ud? (bare for at være helt sikker)
Avatar billede Slettet bruger
03. december 2009 - 12:30 #3
De står der. Har kopieret det direkte.
Det er kun lige navne jeg har lavet om.

Altså rapporten kan laves på flere måder.
Det er den konventer jeg plejer at bruge der sætter det sådan op.

En anden mulighed er som jeg skrev, at sætte skibene op under hinanden istedet for ved siden af hinanden.
Det er bare hvad der er nemmest.
Avatar billede fennec Nybegynder
03. december 2009 - 12:59 #4
Hvis de tags allerede står der, kan du nemt hive data ud med RegExp. Her er et lille eks:

txt = "At [U]12-01 00:00:49[/U], as it came to a battle:"& vbcrlf &_
    "Attacker [U]User1[/U] [U](X:XXX:XX)[/U]"& vbcrlf &_
    "Weapons: [U]XXX%[/U] Shields: [U]XXX%[/U] Armour: [U]XXX%[/U]"& vbcrlf &_
    "Type: [U]S.Cargo[/U] [U]L.Cargo[/U] [U]Cruiser[/U] [U]Battleship[/U]"& vbcrlf &_
    "Total: [U]8[/U] [U]17[/U] [U]34[/U] [U]2[/U]"

Set regEx = New RegExp
regEx.Pattern = "\([\s\S]*?)\"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(txt)
For Each Match in Matches
    response.write "Match found at position "
    response.write Match.FirstIndex & ". Match Value is '"
    response.write Match.Value & "'.<br>"
Next

Som du kan se tager den også u tags med på "resultatet", men de kan nemt fjernes enten med en replace() eller med mid().
Avatar billede Slettet bruger
03. december 2009 - 13:27 #5
Det kan godt være jeg ligger og er syg. Men skideballe til mig selv.

Jeg læste din besked helt forkert. Undskyld.
Nu de Tags er ikke med. derfor lavede jeg det om neden under.
Feberen har ramt mig så undskylder mange gange.

Lige for at skære det helt ud for en dum dreng.

hvis jeg nu har en side hvor jeg kopier det ind i. Jeg sender det så til en fil vi kalder motag.asp

Lige for at tage de sværeste først.
Her vil jer gerne se resultatet af de ting der er understreget.
Men de skal jo svare til hvad der står ovenover.
Så hvis jeg har i modtag.asp en liste der fx ser sådan nu:

S.Cargo:
L.Cargo:
Cruiser:
Battleship:
Battlecruiser:

Så skulle den gerne hive de tal ud som er under de valgte skibe og skrive:

S.Cargo: 8
L.Cargo: 17
Cruiser: 34
Battleship: 2
Battlecruiser: 0
Avatar billede Slettet bruger
03. december 2009 - 14:14 #6
Laver lige et nyt spørgsmål.
Så kan jeg beskrive det ordenlig hvordan jeg vil have det.

Allerede nu bliver man lidt rundtosset.
Så hvis du vil hjælpe kan du læse det nye spørgsmål lige om lidt.

Undskyld
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester