Search  
Thursday, May 24, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Office Automation  Caractere roman...
 Caractere romanesti din dbf in Word
 
 6/16/2009 9:41:53 AM
User is offlineRomeo
527 posts
1st


Caractere romanesti din dbf in Word
 (N/A) Modified By Romeo  on 6/16/2009 9:43:46 AM)
Am preluat dintr-un tabel foxpro (dbf) continutul unui camp cu caractere romanersti si l-am pus in word prin program (Office Automation). Am avut o surpriza neplacuta:
in loc de ţ,ş,ă,î,â,Ţ,Ş,Î,Ă.Â... am obtinut þºãîâ... Am schimbat fontul in Arial, Times new roman etc. Degeaba.

Cum fac eu ca sa transform caracterul þ (citit in fisierul dbf) in caracterul ţ (in word) - prin Office Automation ?



Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 6/16/2009 10:30:18 AM
User is offlineRomeo
527 posts
1st


Re: Caractere romanesti din dbf in Word
 (N/A)
Problema s-ar reduce la urmatoarea:

Cum scriu in vfp:

Application.Keyboard (1048)
Selection.TypeText Text:=ChrW(355)

---------------------------------

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 6/16/2009 by R_Mircea'
Application.Keyboard (1048)
Selection.TypeText Text:=ChrW(355)
End Sub

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 6/16/2009 12:43:47 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Caractere romanesti din dbf in Word
 (N/A)
 Romeo wrote
Am preluat dintr-un tabel foxpro (dbf) continutul unui camp cu caractere romanersti si l-am pus in word prin program (Office Automation). Am avut o surpriza neplacuta:
in loc de ţ,ş,ă,î,â,Ţ,Ş,Î,Ă.Â... am obtinut þºãîâ... Am schimbat fontul in Arial, Times new roman etc. Degeaba.

Cum fac eu ca sa transform caracterul þ (citit in fisierul dbf) in caracterul ţ (in word) - prin Office Automation ?




Degeaba ai schimbat fonturile, si, din pacate, se pare ca mi-am racit gura de pomana pe subiectul asta in cel putin 20 de mesaje pana acum. Caracterul þ are codul 254. Caracterul ţ are ALT cod, mai mare de 255, pe care VFP NU IL POATE REPREZENTA, fiindca nu este unicode.

Trebuie sa parsezi manual fiecare camp si sa introduci in documentul word caracterul UNICODE corespunzator caracterului ASCII pe care il doresti.

Sper ca macar acum am lamurit o data pentru totdeauna problema asta.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 6/16/2009 6:13:40 PM
User is offlineRomeo
527 posts
1st


Re: Caractere romanesti din dbf in Word
 (N/A) Modified By Romeo  on 6/16/2009 9:19:58 PM)
Vezi, tocmai aici e problema: ca sa scot un fisier txt unicode scriu un header de 2 caractere, dupa care pt caracterele neromanesti scriu 2 caractere: 0+caracter, iar la cele romanesti codul format din 2 caratere. Mai jos am rutina care face operatia inversa (transforma un unicode txt notepad in string vfp care vede caractere romanesti):

PARAMETERS p1, p2
DO CASE
CASE ASC(p1)=13 AND ASC(p2)=0 && Enter
r=CHR(13)
CASE ASC(p1)=34 AND ASC(p2)=0 && "
r=CHR(34)
CASE ASC(p1)=28 AND ASC(p2)=32 && "
r=CHR(34)
CASE ASC(p1)=39 AND ASC(p2)=0 && '
r="'"
CASE ASC(p1)=37 AND ASC(p2)=0 && %
r="%"
CASE ASC(p1)=38 AND ASC(p2)=0 && $
r="&"
CASE ASC(p1)=194 AND ASC(p2)=0 && Â
r="Â"
CASE ASC(p1)=2 AND ASC(p2)=1 && Ă
r="Ă"
CASE ASC(p1)=206 AND ASC(p2)=0 && Î
r="Î"
CASE ASC(p1)=94 AND ASC(p2)=1 && Ş
r="Ş"
CASE ASC(p1)=98 AND ASC(p2)=1 && Ţ
r="Ţ"
CASE ASC(p1)=36 AND ASC(p2)=0 && $
r="$"
CASE ASC(p1)=226 AND ASC(p2)=0 && â
r="â"
CASE ASC(p1)=3 AND ASC(p2)=1 && ă
r="ă"
CASE ASC(p1)=238 AND ASC(p2)=0 && î
r="î"
CASE ASC(p1)=95 AND ASC(p2)=1 && ş
r="ş"
CASE ASC(p1)=99 AND ASC(p2)=1 && ţ
r="ţ"
CASE (ASC(p1)>=32 AND ASC(p1)<=126) AND ASC(p2)=0 && litere mari, mici
r=p1
OTHERWISE
r=""
ENDCASE

Cum fac eu ca sa trimit prin vfp9 doua caractere care sa fie citite ca un sindur caracter ?

o secventa de genul :

WITH toWord.Selection
IF PCOUNT() >= 2
.TypeText(tcText)
ENDIF
nu imi va trimite spre word doua caractere distincte ?
Aici e problema, iar eu m-am gandit ca solutia ar fi apelarea unui macro.

Ti-as fi recunoscator daca mi-ai spune cum transmit doua caractere din vfp9 care sa genereze un singur caracter in word !

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 6/17/2009 1:21:13 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Caractere romanesti din dbf in Word
 (N/A)

Nu trimiti doua caractere, bre :) Trimiti unul singur, cu cod mai mare de 254!

With toWord.Selection
.InsertSymbol(351,,.T.)
EndWith

Unde 351 este codul literei ş. Uite-te in fereastra aia de simboluri si vezi ce cod are fiecare litera.


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 6/17/2009 8:08:43 AM
User is offlineRomeo
527 posts
1st


Re: Caractere romanesti din dbf in Word
 (N/A)
Grig, FACI DIFERENTA ! - ca sa folosesc un termen fotbalistic. M-ar fi incurcat foarte mult sa nu reusesc sa nu scriu in Word caracterele ş, ţ... nu mi+ar fi ramas decat alternativa unicode txt + Notepad care inseamna de fapt calitate second hand.

Intrebarea mea este urmatoarea: cum citesti caracter cu caracter un camp memo ?
O solutie ar fi:

COPY MEMO text TO d:\manevra.txt
=FOPEN(
=FREAD(
....

dar poate exista functii orienate pe problema.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 6/17/2009 10:40:29 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Caractere romanesti din dbf in Word
 (N/A) Modified By Grigore Dolghin  on 6/17/2009 10:42:17 AM)
lcString = camp_memo
For lnI = 1 To Len(lcString)
lcChar = Substr(lcString,lnI,1)
EndFor

O fi bun?

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 6/17/2009 10:55:30 AM
User is offlineRomeo
527 posts
1st


Re: Caractere romanesti din dbf in Word
 (N/A)
Si daca campul memo are 10.000 de caractere lcString = camp_memo nu trunchiaza la 255 ?
Eram convins de asta.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 6/17/2009 11:39:44 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Caractere romanesti din dbf in Word
 (N/A)
Nu.
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
  Visual FoxPro  Office Automation  Caractere roman...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement