Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 My Posts
SearchForum Home
  Visual FoxPro  Cod, sintaxa si comenzi  Fisier erori.tx...
 Fisier erori.txt
 
 6/25/2007 2:39:18 PM
User is offlineioanb
61 posts


Fisier erori.txt
 (N/A)

SET TEXTMERGE ON

SET CONSOLE OFF

STORE FCREATE('erori.txt') TO _TEXT

TEXT

===================================================================================

Mesaj eroare: <<Mess>>

Numarul erorii: <<LTRIM(STR(merror))>>

Eroare aparuta in programul: <<mprog>>

Linia de cod cu eroare: <<alltrim(mess1)>>

Numarul liniei cu eroare: <<LTRIM(STR(mlineno))>>

Data si ora: <<data_mesaj>>

===================================================================================

ENDTEXT

Codul de mai sus rescrie mesajul de eroare in fisierul .txt., insa as vrea sa fie adaugat sub mesajele mai vechi. Ce lipseste?

 

 6/25/2007 2:49:13 PM
User is offlineGrigore Dolghin
3592 posts
www.class-software.eu
1st






Re: Fisier erori.txt
 (Slovakia)

FCREATE.... :) hehehe... FCREATE creeaza fisierul de fiecare data. E si normal ca cele vechi dispar, pentru ca fisierul este sters de pe disc si creat unul nou.

Stocheaza textul ala intr-o variabila pe care scrie-o pe disc cu STRTOFILE(variabila, "nume_fisier", 1).


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 6/25/2007 2:54:30 PM
User is offlinefpruna
26 posts


Re: Fisier erori.txt
 (N/A)
Testeaza daca fisierul erori.txt exista si de aici mergi cu fcreate sau cu fopen cu optiunea de scriere.

 6/25/2007 3:22:31 PM
User is offlineioanb
61 posts


Re: Fisier erori.txt
 (N/A)
Cum se poate stoca textul complet intr-o variabila? (am incercat txt=txt+'fddd'+chr(13), dar nu vrea)
 6/25/2007 3:36:32 PM
User is offlineioanb
61 posts


Re: Fisier erori.txt
 (N/A)
FOPEN: Nu poate adauga intrucat cursorul este read-only
 6/25/2007 4:13:13 PM
User is offlineGrigore Dolghin
3592 posts
www.class-software.eu
1st






Re: Fisier erori.txt
 (Slovakia)

 ioanb wrote
Cum se poate stoca textul complet intr-o variabila? (am incercat txt=txt+'fddd'+chr(13), dar nu vrea)

"Vrea" sau "nu vrea" nu sunt chestii de foxpro. "Am incercat cutare lucru si primesc cutare mesaj de eroare" ar fi fost MULT mai bine. Banuiesc ca tu incerci sa concatenezi o variabila cu un text, dar variabila nu e de tip character ca atare primesti eroarea "data type mismatch". Dar, pentru ca nu ai zis care-i problema, nu am cum sa stiu sigur. Offff.... programatorii astia... isi injura userii ca nu spun corect ce se intampla in program... :)) hahaha

Ai folosit mai devreme TEXT pentru a construi stringul. Welll.... TEXT TO numevariabila, lasi totul EXACT ASA CUM ERA, apoi strtofile.

Ca sa fiu foarte explicit: Ai de adaugat clauza TO numevariabila la comanda TEXT, apoi in loc de FCREATE scrie STRTOFILE(nume_variabila,"nume_fisier",1)


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 6/25/2007 4:22:05 PM
User is offlineioanb
61 posts


Re: Fisier erori.txt
 (N/A)
FOPEN(txt,12), nu mai e read-only, insa FWRITE(fisiere,txt) suprascrie. In concluzie, am ajuns de unde am plecat. Varianta la indemana este tot stocarea intr-o variabila de memorie, STRTOFILE(txt,"erori.txt",1),dar nu reusesc sa scriu randuri noi (dauga la randul existent).
 6/25/2007 4:27:27 PM
User is offlineioanb
61 posts


Re: Fisier erori.txt
 (N/A)
Daca nu erai foarte explicit, mai intrebam de doua ori. Acum a mers. Iti multumesc.
 6/25/2007 4:28:05 PM
User is offlineGrigore Dolghin
3592 posts
www.class-software.eu
1st






Re: Fisier erori.txt
 (Slovakia)
Hm. Ok, am inteles. Chestia e ca-ti lipsesc cunostinte elementare despre managementul fisierelor. Randurile intr-un fisier text sunt separate prin CHR(13)+Chr(10).
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 6/25/2007 4:29:48 PM
User is offlineedyshor
1450 posts
1st




Re: Fisier erori.txt
 (N/A)
StrtoFile(cVar,"c:\myfile.txt",1) pune toata variabila in fisierul c:\myfile.txt, iar parametru "1" ii spune sa faca o adaugare si nu supra-scriere
 6/25/2007 4:37:03 PM
User is offlineioanb
61 posts


Re: Fisier erori.txt
 (N/A)
Aveti dreptate. Eu stiam ca randurile intr-un fisier text sunt separate prin CHR(13), nu stiam ca trebuie adaugat si Chr(10). Important e ca am rezolvat-o. Poate foloseste si altora in situatia mea.
 6/26/2007 10:12:31 AM
User is offlineaflorin
840 posts
1st


Re: Fisier erori.txt
 (N/A)
Ca intr-adevar sa foloseasca si la altii, am sa incerc sa sintetizez problema, asa cum o rezolv eu:

1. verific existenta fisierului stocat in var lcFileName:
if file(lcFileName)
&& exista - am doua subcazuri: il suprascriu sau pun in continuarea lui
&& daca il suprascriu, fac asa
afile = fopen(lcFileName, 12)
= fchsize(afile, 0)
= fclose(afile)

else
&& nu exista, il creez gol
afile = fcreate(lcFileName)
= fclose(afile)

endif

2. Fisierul sigur exista, scriu in el

&& il deschid readwrite
afile = fopen(lcFileName, 12)
if afile < 0
&& un mesaj de eroare
return
endif

&& ma pozitionez la sfarsitul lui si acopar astfel toate cazurile (fis gol, suprascris ori adaugare la sfirsit)
= fseek(afile, 0, 0)
= fseek(afile, 0, 2)

&& incep sa scriu tot ce vreau, cu chr(13) + chr(10) la final de rind
= fwrite(afile, "rindul 1" + chr(13) + chr(10))
= fwrite(afile, "rindul 2" + chr(13) + chr(10))

&& inchid fisierul, echivalent cu salvarea sa
= fclose(afile)

Florin Aparaschivei - Iasi
 6/26/2007 11:01:22 AM
User is offlineedyshor
1450 posts
1st




Re: Fisier erori.txt
 (N/A)
De acord Florine, dar dece te complici?
StrToFile() are un singur scop, acela de a pune un string intr-un fisier text prin suprascriere sau apendare ..
Lasa fOpen(); fSeek(), fWrite() pentru cazurile in care ai nevoie sa scrii la nivel de adrese intr-un fisier binar, de ex, sa modifici header-ul unei tabele sau whatever :)

 6/26/2007 1:47:24 PM
User is offlineioanb
61 posts


Re: Fisier erori.txt
 (N/A)

Sunt de acord, mie imi functioneaza cu

SET TEXTMERGE ON

TEXT to variabila

orice text

ENDTEXT

STRTOFILE(variabila,"fisier_destinatie",1)

 6/28/2007 3:04:21 PM
User is offlineaflorin
840 posts
1st


Re: Fisier erori.txt
 (N/A)
Nu e neaparat vorba de complicat - pur si simplu folosesc varianta care mi s-a parut mai comoda si cu care am rezolvat toate problemele pina acum.
Florin Aparaschivei - Iasi
  Visual FoxPro  Cod, sintaxa si comenzi  Fisier erori.tx...

Search  Forum Home     

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement