Favicon Svethardware.cz  Svět hardware   Fórum Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Zobrazené výsledky: 1 až 13 z 13

Téma: Basic4ppc - diakritika

  1. #1
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    694

    Zdravim, prosim o pomoc s nasledujicim.

    Prikazem FileWrite ukladam z promenne text obsahujici diakritiku do souboru .csv. Bohuzel po otevreni tohoto .csv jsou znaky s diakritikou nesrozumitelne. Pri nacteni do tabulky (Table1.LoadCSV) se vsak zobrazuji spravne. Z toho .csv potrebuji tisknout.

    Predem diky.
    Odpovídat lze po přihlášení

  2. #2
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Nesrozumitelne? Zalezi na kodovani souboru - v Pocket PC je vsechno Unicode, ale aplikace mohou ukladat v jinem formatu a pak nejaky viewer/editor,ktery nema podporu pro dane kodovani, zobrazuje paznaky.
    Pri ukladani do Unicode je vhodne zapsat na zacatek BOM.
    Odpovídat lze po přihlášení



  3. #3
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    694

    CSV soubor otevírám na PC v Excelu 2003 a například slovo kancelář zkomolí na
    Kód:
     kancelář
    Kam přesně mám umístit BOM? Ať to dám kamkoliv, tak ihned po spuštění program hlásí chybu.

    Díky.
    Odpovídat lze po přihlášení

  4. #4
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    BOM je sekvence bajtu na zacatku souboru, ne text BOM

    http://en.wikipedia.org/wiki/Byte_Order_Mark
    Zapisuje Basic opravdu Unicode?
    V Total Commanderu na PC ve vieweru muzete vyzkouset, v jakem kodovani se text zobrazi spravne.
    Excel ma myslim nekde v nastavenich moznost vybrat encoding oteviraneho souboru ne?
    Odpovídat lze po přihlášení

  5. #5
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    694

    No jo no. Jsem začátečník a abych řekl pravdu, tak v tomhle se úplně ztrácím. Basic4ppc by měl defaultně používat Unicode Aspoň se o tom zmiňují v návodu. V excelu jsem tu volbu nenašel. Když soubor otevřu v HEXA, tak na začátku je následující:

    Kód:
    31 32 2F
    Nevím jestli to dobře chápu. Mám to přidat takto?

    Kód:
    a = "EF BB BF"
     
    FileOpen(c1,"soubor.csv",cWrite)
    WriteByte (a as Byte)
    FileClose(c1)
    Díky.

    Odpovídat lze po přihlášení

  6. #6
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    To je hroze humusacky kod v basicu , ale takto urcite ze stringu sadu bajtu nezapisete.
    Mozna bude lepsi, kdyz kousek vygenerovaeho souvoru sem pripojite a ja se na nej podivam
    Odpovídat lze po přihlášení

  7. #7
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Kód:
    		WORD BOM=0xfeff; 
    		DWORD writtenControlBytes; 
    
    		WriteFile(hFile, &BOM, sizeof(BOM), &writtenControlBytes, NULL);
    Tohle zapisuji v C++. Pokud lze v tom PPCbasicu zadavat hexadecimalni cisla, tak jde o vyjadeni 0xfeff;

    Excel ale pry ma problemy s Unicode. Zkusil jste wizard "Import text "? Ten dovoluje nastavit UTF-8 kodovani. Mam Office 2007,, ale ve 2003 je myslim take.
    edit: excel 2003 wizarda ma http://www.uwec.edu/help/Excel03/importingdata.htm
    Odpovídat lze po přihlášení



  8. #8
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    694

    Tak jsem to vyzkoušel přes ten import v Excelu a pokud zvolím kódování Unicode UTF-8 tak se data zobrazí v pořádku. Co mám teda udělat, aby Basic4ppc toto kódování používal? Ten kód z C++ mě nic neříká ops:

    Soubor vytvářím následovně (a to každý měsíc jiný):

    FileOpen (c1, "Soubor.csv", cWrite, ,)
    FileClose (c1)

    Data ukládám následovně:

    FileOpen (c1, "Soubor.csv", cWrite, cAppend)
    FileWrite (c1, &data1 "; " &data2 "; " &data3)
    FileClose (c1)
    Odpovídat lze po přihlášení

  9. #9
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Ted tomu nerozumim - soubor asi bude v UTF-8, kdyz se vam ho podarilo otevrit. Jedine co v sobe nema, je BOM na zacatku - nicmene AFAIK i kdyz BOM pridate, budete muset v Excelu stale jit pres wizarda pro import textu. Excel 2003 utf-8 asi nedetekuje.
    Odpovídat lze po přihlášení

  10. #10
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    694

    Tak to nechápu. Zkontroloval jsem i ostatní vytvorené soubory a tam řetězec EF BB BF je. Že já si vždy vyberu ke kontrole nějakýho zgarba. Nicméně, to nic nemění na tom, že ani ty soubory Excel nezobrazí správně. Ještě jsem vyzkoušel v EF Commanderu příkazy F3 (zobrazení stejně jak v Excelu) a F4, kde se text s diakritikou zobrazí OK.

    Předpokládám správně, že je tedy chyba na straně Excelu a že s tím nic neudělám?
    Odpovídat lze po přihlášení

  11. #11
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Ale import funguje ne? Jak pisu - Excel jednoduse pri vychozim otevirani souboru (bez importu) ignoruje znakovou sadu.
    Import by se dal asi zautomatizovatpres VBA - dalo by se napsat makro a pro toto makro zobrazovat tlacitko v toolbaru/polozku v menu.
    Odpovídat lze po přihlášení

  12. #12
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    694

    Jo, jo, import funguje, ale je to takovy reseni "Pojd na me z boku" . Bohuzel se s tim asi budu muset smirit a nebo to otevirat v textaku.

    Diky za Tvou trpelivost a ochotu poradit zacatecnikovi
    Odpovídat lze po přihlášení



  13. #13
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    To je v pohode. To tlaitko v Excelu , ktere by se chovalo jako "Otevrit soubor", ale provedlo by import by ti nestacilo? Z hlediska uzivatele je to primitivni stejne jako puvodni funkce Otevrit soubor.
    Anebo - jestlize ten podivny Basic umi volat API, tak bych ti moh vystavit funkci, ktere predas text a ona ho zapise v jine kodove sade. Tohle ale urcite nejdrive nekdy po novem roce.
    Odpovídat lze po přihlášení

Podobná témata

  1. Basic4ppc - chybné výpočty
    Od macula_ce4you v sekci Programování
    Reakcí: 1
    Poslední příspěvek: 12-05-2008, 05:26
  2. Basic4ppc - Testování podmínky CheckBox.Checked = true/false
    Od macula_ce4you v sekci Programování
    Reakcí: 7
    Poslední příspěvek: 23-02-2008, 23:27
  3. diakritika
    Od salvator_ce4you v sekci TomTom
    Reakcí: 7
    Poslední příspěvek: 21-11-2007, 23:06