11. marts 2009 - 12:24
Der er
8 kommentarer og 2 løsninger
Opret fil i bestemt mappe
Hej alle Jer kloge hoveder. Jeg har et problem med at få oprettet en fil i en bestemt mappe. Det er i sig selv ikke noget problem at lave en AssignFile(myFile, 'c:\mappe\hej.txt'); men nu har jeg lavet det sådan, at filens navn bliver bestemt af brugeren... Kode --- procedure TForm1.regClick(Sender: TObject); var myFile : TextFile; UserRegInput : String; PassRegInput : String; begin UserRegInput := UserReg.Text; PassRegInput := PassReg.Text; AssignFile(myFile, UserRegInput); Write(myFile, PassRegInput); CloseFile(myFile); UserReg.Clear; PassReg.Clear; Close; end; --- Koden virker fint, men hvordan får jeg den smidt ind i en bestemt mappe?
Annonceindlæg fra GlobalConnect
11. marts 2009 - 12:49
#1
Den simple måde er bare at lægge 2 strenge sammen: AssignFile('C:\minmappe\' + myFile, UserRegInput);
11. marts 2009 - 17:49
#2
AHA :P Så stien skal FORAN... Sad nemlig og rodede med noget ala AssignFile(myFile, 'c:\minmappe' + UserRegInput); men det andet giver da også noget mere mening.. Prøver det lige af senere ;) Tak for hjælpen indtil videre
11. marts 2009 - 18:21
#3
AssignFile('C:\test\' + myFile, UserRegInput); ^ virker ikke. "Incompatible types: 'String' and 'Text' How comes?
11. marts 2009 - 20:07
#4
Ups, jeg så vist også forkert... Du har ret i at det skal laves sådan: AssignFile(myFile, 'C:\test\' + UserRegInput); Det bør virke...
12. marts 2009 - 00:07
#5
Heller ikke :S Programmet starter op, men når jeg så indtaster en værdi, og trykker, så kommer 'Invalid Filename' Har du et andet bud? Det irritere mig grænseløst at jeg ikke kan få det til at virke :S
12. marts 2009 - 00:13
#6
DET ER WIERD... Hvis jeg nu har navnet 'Ole' i min UserRegInput, og skriver: AssignFile(myFile, 'C:\test' + UserRegInput); så kommer der en fil med navnet testOle på c:\ drevet. Hvordan POKKER gør den dét? Den gør det ikke rigtig, men heller ikke helt forkert.. Den vælger sin egen mellemvej. hehe. Er forvirret nu ;)
12. marts 2009 - 00:26
#7
Muahah :P Fandt ud af det ;) myFile := TStringList.Create; myfile.Add(PassRegInput); myFile.SaveToFile('c:\mappe\' + UserRegInput); myFile.Free; Smider du et svar speedy, så kan vi dele pointene..
12. marts 2009 - 08:12
#8
Ja, det var så en helt anden løsning :) Men grunden til at den lavede en fil der hedder testOle, det var jo fordi du manglede den sidste backslash efter mappenavnet. Jeg programmerer ikke Delphi mere, så jeg har ikke haft mulighed for at teste det jeg skrev. Men det var godt du fandt en anden løsning du kunne bruge.
12. marts 2009 - 14:57
#9
Ja, det kan jeg da godt se, nu du siger det ;) Men det nye jeg fik lavet virker udmærket. Tak for det :D
24. april 2009 - 15:55
#10
Hej, Du kan evt. bruge funktionen IncludeTrailingBackslash, hvis brugere har adgang til at rette mappenavnet: Label1.Caption := IncludeTrailingBackslash('c:\test\hej'); Mvh. Michael
Kurser inden for grundlæggende programmering