K.O. Geplaatst: 28 maart 2008 Rapport Geplaatst: 28 maart 2008 (bewerkt) EDIT: Sorry dat probleem is opgelost. Blijkbaar zet het \'m in een typfout bij het declareren van de variabelen... Volgende probleem: Ik snap niks van Pascal Nu heb ik dus een stuk code hier, maar ik snap niet echt hoe ik het moet gebruiken. Iemand die me hier mee kan helpen? // compiler: [url="http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var"]http://www.freepascal.org/down/i386/win32-...epascal.org.var[/url] {$mode Delphi} uses sysUtils; var buffer,bscram,pick,scramword,s:string; uscram,scram:textfile; found:boolean; i,pos,cline:integer; procedure p(a,b:string; size:integer); // where most of the work is done. var // it permunations basicly rearanges the letters in every possable order until a match is found in unscramble T:word; // the process can take a while on longer words 8 letter words have that have 40,320 combonations and take up to temp1,temp2:string; // 5 seconds at least on my computer. begin inc(cline); if length(b) = size -size then begin if found = true then exit; assignfile(uscram,paramstr(1)); Reset(uscram); //case sentive while not EoF(uscram) do Begin Readln(uscram,buffer); if buffer = a then //if line in unscambled text matches generated word begin writeln(\',\'+a ); //write to screen matching word pick:= pick+\',\'+ a; // add to final output found := true; // stop looking for any more combos for this word. end; end; close(uscram); end else for T := 1 to length(b) do begin if found = true then begin // found:=false; Break; end; temp1 := b; temp2 := a + temp1[T]; Delete(temp1,T,1); p(temp2,temp1,size); end; end; begin cline:=1; // asign a text file with scrambled words //take out all the dead space and get just the words. assignfile(scram,(paramstr(2))); Reset(scram); while not eof(scram) do // loop to read every line of file in the scrambled words file begin readln(scram,bscram); // read line if cline = 1 then // there was this werid thing first word would be one space less than the rest this is my workaround. begin scramword :=copy(bscram,3,length(bscram)); end else begin scramword := copy(bscram,4,length(bscram)); end; pos:= 1; while pos > 0 do begin pos:=ansipos(\' \',scramword); scramword := copy(scramword,pos+1,length(scramword)); end; writeln(\'\'+\',\'+ scramword+\',\'+inttostr(length(scramword) )); found :=false; p(\'\',scramword,length(scramword)); end; //close(scram); { for i:=2 to paramcount do // how I did it when I call the words as parameters I can\'t type quit enough though. begin found :=false; p(\'\',paramstr(i),length(paramstr(i))); end;} delete(pick,1,1); // delete the first \',\' in pick so it appears as is needed. writeln(pick); // print unscrambled words close(scram); end. Het doel van het programma is dat het een lijstje krijgt met een aantal woorden die door elkaar gehusseld zijn (dus bijvoorbeeld gtaforum werd mutafogr) en deze dan weer goed zet, door ze te vergelijken met woorden in een woordenlijst. Nu is mijn vraag eigenlijk; waar laat ik de woordenlijst, waar voer ik de gehusselde woorden in en waar komt de output? Er worden 2 textfiles gedeclareerd, dus ik gok dat ik een scram.txt file moet maken met daarin iets, en een uscram.txt ofzo. Hoe ga ik nu verder? EDIT (10-4): Ik snap dat dit niet echt een alledaagse programmeertaal is, maar toch hoop ik dat er iemand is die dit een beetje kan ontcijferen. Ik snap er namelijk nog steeds niet veel van. Topictitel slaat trouwens al nergens meer op... Bewerkt: 19 april 2008 door SummerBase Reageren
K.O. Geplaatst: 17 april 2008 Auteur Rapport Geplaatst: 17 april 2008 (Ik heb toestemming van SummerBase om dit topic te bumpen.) Ik wil nog steeds antwoord eigenlijk. Ik snap dat er weinig mensen met Pascal-ervaringen rond zullen lopen hier, maar desondanks is er misschien toch iemand die, als ie zo eens naar de code kijkt, eruit kan halen wat er gedaan zou kunnen worden. Iemand dus toch een idee? Reageren
Joriz Geplaatst: 17 april 2008 Rapport Geplaatst: 17 april 2008 Kan je niet ergens een debugger downloaden? Die haalt zo de fout er neem ik aan uit. Reageren
K.O. Geplaatst: 19 april 2008 Auteur Rapport Geplaatst: 19 april 2008 Er zit helemaal geen fout meer in. Dat was eerst wel het geval, maar dat bleek achteraf door een typfoutje te komen. Even aangepast en ik kom het programma goed compileren. Nu zit ik echter met een programma, waarvan ik niet weet hoe het werkt, wanneer ik het uitvoer. Wanneer ik het uitvoer zie ik namelijk een knipperend schermpje, waarna het weer afsluit. Verder niks. Ik neem aan dat ik een bepaalde input in een textfile moet stoppen en dan het programma moet uitvoeren, om vervolgens de output uit een ander tekstbestandje moet halen. Het lukt me echter niet echt en nou vroeg ik me af hoe ik het moet gebruiken in de praktijk. Reageren
K.O. Geplaatst: 30 april 2008 Auteur Rapport Geplaatst: 30 april 2008 Laatste poging om dit topic nieuw leven in te blazen. Ik wacht nog steeds op een antwoord, en zoals ik al gezegd heb, hoef je geen Pascal programmeur te zijn om dit een beetje te begrijpen. Kijk er aub nog eens naar, want ik wil t echt weten hoe dit nou werkt. Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.