Avatar billede oc_gork Nybegynder
28. maj 2003 - 00:16 Der er 14 kommentarer og
1 løsning

Tekstfil som database, lidt hjælp tak.

Hej Eksperter :o)
Jeg er i gang med at lave et program, som har en hel del præindtastet data, og derfor vil jeg have dem liggende i en ekstern tekstfil, dataene kunne f.eks. stå på formen:

#1('Intel', 'P3', 'coppermine', 'SL3Q9', 100, 500, 1.6, 13.2)
#2('Intel', 'P3', 'coppermine', 'SL3R2', 100, 500, 1.6, 13.2)
#3('Intel', 'P3', 'coppermine', 'SL3VF', 133, 500, 1.65, 14.0)
#4('Intel', 'P4', 'northwood', 'SL668', 100, 1600, 1.5, 46.8)
#5('AMD', Athlon, 'K7', 'B', 100, 1000, 1.7, 50.8)

Problemet er nu, at mit program skal lave comboboxe, for hver af ovenståenda valg; så når jeg vælger Intel i den første, vil jeg kun kunne vælge mellem de data Intel indeholder (P3, P4 osv), når jeg så har valgt dette, kan jeg så vælge en stepping (f.eks. SL668), derefter en bushastighed (f.eks. 100), så en Vcore (f.eks. 1.5) og til slut en hastighed (f.eks 1600), alt i alt skal programmet løbe tekstfilen igennem, og sortere tingene i comboboxene, som man vælger dem til... man skal også helst kunne gøre det i andre rækkefølger end den nævnte, bare den hele tiden laver det så man i alle comboboxe, kun kan vælge noget som "passer ind" i det man allerede har valgt i de andre. Håber i forstod det måske lidt kringlede spørgsmål, ellers må i sige til.

MVH
Alex
Avatar billede snowball Novice
28. maj 2003 - 00:24 #1
Er der nogen speciel grund til at du ikke vil bruge en rigtig database som f.eks. Access eller SQL Server !? Det ville gøre tingene en hel del nemmere og sikkert også hurtigere.

Snowball
Avatar billede oc_gork Nybegynder
28. maj 2003 - 00:38 #2
Ja, dataene skal genereres af en sådan database fra nettet, men de skal være der som tekstfiler, da meningmand skal kunne se + evt. rette i dem....
Avatar billede dkn Nybegynder
28. maj 2003 - 15:14 #3
Du lopper igennem din tekstfil og parser den (går jeg udfra du har lavet det siden du har valgt den opstilling)
Du har så oprettet en tlist og lavet et passende object som info så bliver lagt i under parseing.

Når du så selecter din compobox kører du listen igennemog filtrerer undervejs.
Avatar billede oc_gork Nybegynder
28. maj 2003 - 15:18 #4
>>dkn tak for det, men jeg ved ikke en skid om at "parse".... men det kan google måske hjælpe mig med, ellers må du gerne smide et link hvis du har noget info om det!
Avatar billede dkn Nybegynder
28. maj 2003 - 15:29 #5
det er jo noget du selv skal lave. Det kommer jo an på hvordan din info er opstillet. Nok derfor at snowball nævnte det med db da du så slipper for at lave kode til at udpakke det forskelige information.

Altså da hver linie i din tekstfil ser sådan ud / er opstillet sådan:
#1('Intel', 'P3', 'coppermine', 'SL3Q9', 100, 500, 1.6, 13.2)
Du har valgt en komma til at splite det op med, det er ikke det smarteste valg da det hurtigt vil fucke en masse ting op hvis en af informationerne ligepludselig indeholder et komma, men det skal du gøre op med dig selv om det måske kunne ske.

Ellers skal du skifte til noget anden fx en hexdecimal #5 som ikke opstår så tit hvis en bruger indtaster info :)
Avatar billede oc_gork Nybegynder
28. maj 2003 - 16:36 #6
>>dkn det med kommaet kan sagtens ændres, da dataene bliver genereret fra en mySQL database, så hvilken adskiller er smartest at bruge?? Hvad mener du med hexdecimal??
Avatar billede dkn Nybegynder
28. maj 2003 - 17:00 #7
Du kan prøve i delphi:

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := chr(5); // eller med #5;
end;

Som du kan se bliver det noget lign "" som ikke er genkendelig udenvidere, desuden er det ikke noget som bare lige er på tasteturet :)

Defor syntes jeg at det bare skal se ud noget lign dette her i din fil:
IntelP3coppermineSL3Q91005001.613.2

utroligt nemt at pakke ud, men du må selv vælge hvad du vil i længden.
Det kan godt lade sig gøre med kommaer, men der kan hurtigt ske fejl.
Avatar billede oc_gork Nybegynder
29. maj 2003 - 11:47 #8
Okay, men jeg ved stadig ikke hvordan jeg navigerer rundt i det tekst, hvordan fortæller jeg en combobox at den kun må vise dem der står som f.eks. #2 i alle linerne??
Avatar billede oc_gork Nybegynder
02. juni 2003 - 03:06 #9
Der må da være en venlig sjæl derude, som vil skære det ud i pap for mig! Jeg vil blive meget taknemmelig, og uddele så mange point at i falder omkuld, hvis der er en der gidder hjælpe med at få lavet det program!
Avatar billede snowball Novice
02. juni 2003 - 10:25 #10
Jeg vil som sådan gerne lave et eksempel til dig (også selvom jeg stadig mener du har gjort det lidt svært for dig selv), men har bare ikke tid lige for øjeblikket da jeg er midt i min svendeprøve !

Men du kan prøve at kigge lidt på http://www.eksperten.dk/spm/46867 hvori der er givet et par eksempler på hvordan man kan dele en streng op i variabler (bemærk at det er et ældre spørgsmål, så derfor er der lidt hvor mange \ tegn hist og her ;))

Snowball
Avatar billede oc_gork Nybegynder
02. juni 2003 - 11:26 #11
Tak snow, jeg skal prøve om jeg kan hitte ud af det, ellers må jeg jo vente til du får tid :o)
Avatar billede dkn Nybegynder
02. juni 2003 - 14:43 #12
kan skam godt lave et eksempel til dig. men vil du have det opstillet på den måde jeg skrev, eller vil du gøre det på din måde?
Avatar billede dkn Nybegynder
02. juni 2003 - 14:56 #13
og kom så også lige med lidt info om hvad de forkellige værdier hedder.

fx
#1('Intel', 'P3', 'coppermine', 'SL3Q9', 100, 500, 1.6, 13.2)
  Fabrikant | type | osv......

så laver jeg også det med comboboxende
Avatar billede oc_gork Nybegynder
02. juni 2003 - 17:25 #14
>>dkn det lyder supergodt, smid lige en mail på alex_riis@mail.dk så svarer jeg den med en zip fil med min form (har lige smidt de nødvendige comboboxe ind), og et dokument med hvordan det skal laves!
Avatar billede dkn Nybegynder
09. juni 2003 - 02:35 #15
kk :)
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