Avatar billede aeon Nybegynder
08. januar 2001 - 20:08 Der er 21 kommentarer og
1 løsning

Borland Builder C++ version4 æøå problemer :-(

Jeg er lidt prob. med min Builder. Når jeg bruger cout og æøå bliver de \"rigtige\" tegn ikke udskrevet.
Det virker fint når jeg bruger typen string.
Jeg kører med dansk tegnsæt i windows.
Hvordan får jeg Borland til at kører med dansktegnsæt? Så jeg kan bruge dansketegn i mine udskrifter!


Avatar billede aeon Nybegynder
08. januar 2001 - 20:15 #1
Hmmm det kan godt være at jeg ikke fik mig formuleret helt korrekt. Borland skriver de \"rigtige\" tegn ud...men når jeg skriver cout<<\"åge\"; skriver comp. ikke å ud men et andet tegn, når jeg har compileret prog. 
Avatar billede alquesm Nybegynder
08. januar 2001 - 20:18 #2
Laver du programmet til DOS eller Windows? Er det en console? Flere oplysninger udbedes! :)
Så skal jeg nok undersøge det! ;)
Avatar billede aeon Nybegynder
08. januar 2001 - 20:21 #3
Det er til dos. som console :)=
Avatar billede alquesm Nybegynder
08. januar 2001 - 20:24 #4
Hvis det er til DOS (Og hvorfor er det det?) hvorfor programmerer du det så i Windows!? :s
Avatar billede pstric Nybegynder
08. januar 2001 - 20:26 #5
Jeg tror at det skyldes forskellen mellem ANSI og ASCII tegnsættene. Jeg har selv haft problemet i Delphi, men det løste sig selv. Jeg blev nemlig træt af små kommandoliniebaserede benzinregnskaber.
Avatar billede aeon Nybegynder
08. januar 2001 - 21:04 #6
tjaaaa...  det er jo meget godt altsammen. Men det hjælper jo ikke rigtig mig med mit problem nu når jeg har fået besked på at lave det til dos.
Avatar billede alquesm Nybegynder
08. januar 2001 - 21:06 #7
Kan du ikke poste noget kode, og så kan vi måske hjælpe dig!?

Og post også lige din AUTOEXEC.BAT....nysgerrig efter om den indeholder nogle TEMLIG vitale liner...
Avatar billede aeon Nybegynder
08. januar 2001 - 21:23 #8
autoexec \"snip\"
mode con codepage prepare=((850) C:\\WINDOWS\\COMMAND\\ega.cpi)
mode con codepage select=850
keyb dk,,C:\\WINDOWS\\COMMAND\\keyboard.sys
kode \"snip\" cout<<\"køb en ræv og smid den i åen\";
ø = °
æ = µ
å = õ

dette er de tegn der bliver vist når programmet bliver kørt


Avatar billede lucifer Nybegynder
08. januar 2001 - 22:16 #9
Problemet ligger ikke i selve programmet, men høhst sandsynligt  i den variabeltype der bliver udskrevet. Da cout udskriver en tekst som bytestream kunne jeg tænke mig, at denne stream er begrænset til 127 eller 256 tegn. Heri indgår de danske tegn ikke ( det først er æ der har værdien på 8216) i ascii-kode (noget helt det hvis vi taler Unicode her eksitere Ø faktisk ikke sidst jeg kiggede. Da Integer kan indegolde tegn med en større tegn værdi opleves problemet ikke her.
Avatar billede lucifer Nybegynder
08. januar 2001 - 22:31 #10
Den teskt der skal skrives ud, er det tekst der er givet på forhånd eller tekst der kommer ind fra brugeren??
Avatar billede aeon Nybegynder
08. januar 2001 - 22:33 #11
Jeg tror ikke at det er der problemet er. Jeg kan godt skrive tegnene ud hvis jeg bruger de respektive ascii numre. spørgsmålet går lidt mere på om der er en lettere måde at gøre det på end

Kode \"snip\" cout<<\"k\"<<char(230)<<\"e ven\";

Det er nemlig lidt bøvlet at sidde og skrive på denne måde :)=
Avatar billede aeon Nybegynder
08. januar 2001 - 22:34 #12
Den er givet på forhånd
Avatar billede lucifer Nybegynder
08. januar 2001 - 22:41 #13
Jeg er desværre bange for der ikke er det med mindre du kan finde et program (compiler), der kan forstå de danske som del af \"koden\".

Jeg er ikke stødt på nogen der kan det endnu heller ikke i andre programmeringssprog!!!
Avatar billede lucifer Nybegynder
08. januar 2001 - 22:43 #14
Det er blandt andet på grund af denne \"mangel\" at man skal undgå danske tegn i f.eks funktions navne. Compileren kager fuldstændigt rund i det!!
Avatar billede lucifer Nybegynder
08. januar 2001 - 22:45 #15
Alternativt kunne du jo bare skrive aa ae oe ;-)
Avatar billede aeon Nybegynder
08. januar 2001 - 22:47 #16
Ja... men det andet ser jo lidt pænere ud nu når vi har disse skønne bogstaver :)=
Avatar billede pstric Nybegynder
08. januar 2001 - 22:56 #17
Det er IKKE en fejl i C++ Builder (eller for den sags skyld i Delphi)!!! Det er en fejl i Windows\' forståelse af hvad ANSI tegnsættet er. Den samme fejl kommer i VC++ og ved at taste k[ALT-230]re i en Command Prompt.
Avatar billede aeon Nybegynder
08. januar 2001 - 23:01 #18
det er jeg sikkert enig med dig i.. Men nu er det desvære sådan at jeg bruger windoze der hvor jeg normalt programmere og jeg kan jo ikke få dem til at lave om på deres private standard.. Og da jeg ikke ved hvordan jeg skal lave om på hverken det ene eller det andet var jeg jo nød til at spørge alle de dejlige kloge mennesker der findes her.. :)=
Avatar billede pstric Nybegynder
08. januar 2001 - 23:04 #19
Og vi svarede så :))
Avatar billede beaviz Nybegynder
09. januar 2001 - 07:01 #20
(beaviz husker svagt fra ms dagene)
Ville en codepage 865 ændre på noget?
Avatar billede aeon Nybegynder
09. januar 2001 - 08:15 #21
En code page 865 ændre desvære ikke på noget..
Avatar billede soepro Nybegynder
10. januar 2001 - 12:37 #22
Du kan ikke anvende en Windows compiler som f.eks. C++ Builder til at lave Console applicationer med korrekt \'æ\', \'ø\' og \'å\'. Problemet skyldes at console applikationen anvender ASCII tegnsættet, mens windows anvender ISO 96?? tegnsættet. Hvis du derfor skal have applikationen til at skrive korrekt ud, skal du lave din source i C++ Builder gemme den - og rette \'æ\', \'ø\' og \'å\' vha. en DOS edit fra et MS-DOS prompt. Eneste alternativ er at overloade alle puts og printf funktioner sådan at ISO96?? tegnsættet konverteres inden udskrift til det korrekt DOS tegn.
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