Toon posts:

[vb6] Textfile exporten gaat niet goed

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een programma'tje gemaakt dat een text file exporteert [aan de hand van wat andere instellingetejs enzo en het is ook een log]. De meesten van jullie kennen wel van die .nfo files, als je die in kladblok met het lettertype Terminal bekijkt, krijg je zo'n leuk plaatje te zien.

Maargoed, mijn code doet dat ook, hier werkt het allemaal prima. Maar als ik mijn programma door iemand met speciale language packs in zn windows uit laat voeren [bv. hebreeuws], worden sommige tekens vervangen met wat anders. Zo wordt bv. het zwarte blokje vervangen met een vraagteken.
Ik heb al wat gespeeld met de compile options van vb6, maar dat mocht niet baten. Mijn code ziet er alsvolgt uit:

code:
1
2
3
4
5
6
7
Sub Main()
    Open "boe.txt" For Output As #1
    ...
    Print #1, "ÛÛÛÛÛÛÛÛÛÛÛÛ±±°°±²ÛÛÛ" <- met Terminal ziet dit er wel goed uit
    ...
    Close #1
End Sub


Zoals je ziet schrijf ik op de doodgewone manier een bestand. Hoe kan dit dan toch fout gaan op 'buitenlandse' windows versies en hoe los ik het op?

  • Billie
  • Registratie: Januari 2003
  • Laatst online: 23-05 07:55
Niet dat ik VB(6) ken, maar werken NFO's niet alleen met Unicode? Misschien dat je daar eens mee moet kloten?

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Dat los je niet op. Die andertalige Windows heeft gewoon andere fonts aan boord (blame some large software company from Redmont), dus ofwel heb je pech, ofwel verzin je een schadeloze manier om jouw terminal font mee te distribueren.

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


Verwijderd

Topicstarter
maar ook als iemand dan zo'n file naar me terugstuurt, en ik hem hier bekijk, ziet hij er zo uit. Stuur ik gewoon een text file met van die karakters erin, en hij bekijkt hem met zn hebreeuwse windows, dan ziet het er -wel- goed uit. Het gaat dus ergens bij het file saven fout ofzo.

Verwijderd

Topicstarter
Nu heb ik het met kernel32 API's gedaan, met WriteFile enzo, en even iemand uit griekenland gevraagd of ie mn code uit wou voeren, maar hij krijgt nog steeds hetzelfde. Blijkbaar zijn de regeltjes in de gecompileerde code gewoon fout ofzo.... erg vaag

als ik mn .exe eens ga hexeditten, zie ik dit staan:

__vbaSetSystemError.__vbaStringToAnsi <en dan hier de regel die geprint gaat worden>

zou het niet aan die vbaStringToAnsi ligge?

[ Voor 29% gewijzigd door Verwijderd op 31-01-2004 23:11 ]


Verwijderd

Probeer dit eens (schrijven in binary mode)
code:
1
2
3
Open "boe.txt" For Binary As #1
Put #1, , "ÛÛÛÛÛÛÛÛÛÛÛÛ±±°°±²ÛÛÛ"
Close #1
Pagina: 1