Toon posts:

[Delphi]probleempje met inlezen textfile

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een klein probleempje met het inlezen van een textfile in Delphi.

Ik heb dit al vaak gedaan, nooit problemen gehad.
Het probleem is als volgt:

Wanneer ik m.b.v. "Assignfile( poort, 'input.txt')" een koppeling met de textfile maak, zegt hij tijdens het runnen dat hij de textfile niet kan vinden. De textfile bevindt zich in dezelfde directory als de Delphiproject en de gebruikte units. Als ik de filename helemaal voluit schrijf (dus: 'd:\documenten\programs\projects\...\input.txt') werkt het wel. Het eerste geval zou ook moeten werken, het heeft het bij mij altijd al gedaan. Ook '\input.txt' of '/input.txt' willen niet werken.

Waarschijnlijk is het een of ander setting. Ik heb de help file van delphi doorzocht, mensen uit m'n omgeving geraadpleegd, google gebruikt etc. maar nog geen oplossing gevonden :(

Iemand?

Alvast bedankt!

  • sds
  • Registratie: Juni 2002
  • Laatst online: 01-08 11:02

sds

ExtractFilePath(Application.ExeName) voor de bestandsnaam plakken

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

ExpandUNCFileName is een stuk veiliger, omdat dat er niet voorshands vanuit gaat dat het bestand zich in de startup directory van de applicatie bevindt, maar ook een aantal andere directory's doorzoekt. Zie Delphi help voor meer info.

[ Voor 5% gewijzigd door Tomatoman op 13-04-2003 04:11 ]

Een goede grap mag vrienden kosten.


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Waarschijnlijk komt jouw probleem doordat ergens in de applicatie van directory gewisseld wordt. Open je bijvoorbeeld ergens een Open of SaveFileDialog voor je de textfile opent? Dit zou namelijk al de truck kunnen zijn.

Ook kan het zijn dat je een snelkoppeling gebruikt die bij 'Starten in' niks of iets anders dan de map waar de exe staat ingevuld heeft staan. Ook dan gaat het mis. Kijk naar de opies die sds en tomatoman je toewerpen, die kunnen je zeker verder helpen...

My personal website


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 22:26

Tomatoman

Fulltime prutser

Je mag er nooit vanuit gaan dat bepaalde directory de current directory is na het starten. Voorbeeldje: als het programma via een shortcut wordt gestart, kan in de shortcut de current directory naar believen zijn ingesteld. Wel kun je met SetCurrentDir in je programma van directory wisselen.

Een goede grap mag vrienden kosten.


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Ik ben de laatste die je tegenspreekt tomatoman!!! Ik wilde alleen de TS duidelijk maken wat de verschillende oorzaken voor zijn 'probleem' zouden kunnen zijn :)

Vandaar dat ik later ook naar jouw post verwijs ;)

[ Voor 18% gewijzigd door OZ-Gump op 14-04-2003 00:41 ]

My personal website


Verwijderd

Topicstarter
OZ-Gump schreef op 14 april 2003 @ 00:25:
Waarschijnlijk komt jouw probleem doordat ergens in de applicatie van directory gewisseld wordt. Open je bijvoorbeeld ergens een Open of SaveFileDialog voor je de textfile opent? Dit zou namelijk al de truck kunnen zijn.
Ja! Je hebt gelijk, het werkte totdat ik een SaveFileDialog heb toegevoegd.

Hoe kan ik ervoor zorgen dat hij naar de directory kijkt waar de executable staat?

Werkt ExtractFilePath( Application.Exename ) onder alle omstandigheden?

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 22-08 17:59

Knutselsmurf

LED's make things better

Verwijderd schreef op 14 April 2003 @ 01:45:
[...]


Ja! Je hebt gelijk, het werkte totdat ik een SaveFileDialog heb toegevoegd.

Hoe kan ik ervoor zorgen dat hij naar de directory kijkt waar de executable staat?

Werkt ExtractFilePath( Application.Exename ) onder alle omstandigheden?
Dat werkt altijd. Voor zover ik weet dan, en aangezien ik niet alles weet :P

Ik heb deze contructie zelf ook gebruikt en die trekt zich niets aan van opendialogs, savedialogs, chdirs enz., dus je kunt er vrij zeker van zijn dat het werkt. En anders test je toch gewoon ;)

- This line is intentionally left blank -


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

En wat eigenlijk hetzelfde resultaat geeft maar op een andere manier is:
ExtractFilePath(ParamStr(0))

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Verwijderd schreef op 14 April 2003 @ 01:45:
Ja! Je hebt gelijk, het werkte totdat ik een SaveFileDialog heb toegevoegd.
Dat komt door de optie ofNoChangeDir op False staat van de TSaveDialog

We adore chaos because we like to restore order - M.C. Escher

Pagina: 1