Search  
Sunday, August 09, 2020 ..:: 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  Baze de date, tabele, view-uri si indecsi  memo field -fil...
 memo field -fill/recall
 
 8/2/2011 11:27:35 AM
User is offlineslice3
22 posts


memo field -fill/recall
 (N/A)
Asa cum imi spune si nick-ul, deocamdata nu posed nici macar informatiile de baza necesara. Am pus mana pe Foxpro doar de 3-4 zile din interes personal si sunt destul de motivat ca sa invat.
am versiunea VFP 9 SP1, asta daca conteaza in vreun fel la ajutorul pe care urmeaza sa m-il oferiti daca veti putea si nu voi intreba prostii prea mari.
pe scurt: in aplicatia pe care vreau sa o realizez pe linga descrieri vreau sa inserez si cate o imagine (fisier JPG), din cat am citit pe diferite forumuri, o pot face cel mai recomandat sub forma de MEMO field ( nu am inteles foarte bine de ce nu se recomanda BLOB) (mai erau inca 2 metode, dar fiecare cu diferite alte neajunsuri).

astfel poza in sine este "introdusa" in baza de date (tabel) si fisierul JPG chiar poate fi sters deoarece imagine ramane in continuare manipulabila. (asta m-ar ajuta sa nu pierd fisiere);
deci dupa ce am campul de MEMO trec la introducerea imaginii cu comanda APPEND MEMO "memofieldname" FROM "x:\temp\mypic.jpg"

prima intrebare este legat de aceasta comanda: cum stiu prin acest append cand la care inregistrare din tabel (index...) se adauga imaginea? cum pot controla acest aspect in sensul ca sa zicem am 5 inregistrari in tabel si deocamdata am poza doar pt indexul nr 4, cum pot face append memo direct la el. restul ramanind necompletate.

a doua intrebare la care inca nu am reusit sa-i gasesc solutia. odata introdusa aceasta imagine in tabel, cum il pot rechema intr-un REPORT sau chiar FORM.
daca il apelez ca pe un camp general in report imi apare sub forma de "text" si nu ca si imagine. cum pot insera aceste imagini in report?
unde si ce comanda trebuie sa-i completez.

multumesc anticipat ajutorului chiar daca intrebarea este postata in subforum neadecvat sau e chiar "la mintea cocosului". Totusi eu inca nu-l cunosc si cum v-am mentionat, sunt inca foarte la inceputuri.



Szabolcs
 8/2/2011 11:59:14 AM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A) Modified By Daniel Buduru  on 8/2/2011 12:05:50 PM)
Poti folosi campul de tip BLOB fara probleme. Daca folosesti un camp memo, trebuie sa fie de tip memo(binary).

Vezi in help comanda replace.
Te pozitionezi pe inregistrarea careia vrei sa-i adaugi o poza, apoi

REPLACE campul_cu_poza WITH filetostr('poza.jpg')

Pentru afisarea in form si in report, vezi aici:
http://support.microsoft.com/kb/895602

P.S. In articol formul si reportul sunt create in cod, si asta pentru ca exemplul sa poate fi rulat cu copy/paste. Poti sa le creezi si in designer, completand proprietatile si metodele ca in articol.

Daniel Buduru
 8/2/2011 3:15:17 PM
User is offlineslice3
22 posts


Re: memo field -fill/recall
 (N/A)
OK, m-ai pierdut pe traseu; dar hai sa le luam pas cu pas.
in primul rand sa mergem pe versiunea Visual deoarece este mult mai "urmaribil" pentru mine care nu sunt familiarizat cu comenzile directe.
cum am aratat inainte pot insera intr-un tabel la un camp tip MEMO o imagine cu APPEND MEMO "memofieldname" FROM "x:\temp\mypic.jpg" (pentru un camp MEMO(binar ) cred ca nu gresesc daca afirm ca merge aceasi comanda ) pe cand nu stiu cum sa procedez in cazul unui camp BLOB.
codul in linkul aratat e mult prea complex pentru mine, pe linga faptul ca este sub forma unui program intreg (incepe cu crearea bazei de date respectiv a tabelului cu "angajati" pe care eu le-am creat "visual" nu din comenzi directe, dupa care defineste acea clasa pentru previewlistener de care banuiesc ca am nevoie si eu; respectiv creaza reportul efectiv care eu il pot construi tot "visual") in principiu ar trebui sa elimin tot ce e acolo si sa pastrez doar CLASS-ul, corect?
bun, deci daca n-am gresit pina aici, pot integra acest CLASS (modificat la denumirile/caile mele) cu altele posibile intr-un singur *.prg care se initializeaza la inceput? sau pentru fiecare report/form rebuie sa am cate un *.prg separat?
exista vreo modalitate ca acest CLASS sa il pot crea vizual (din meniuri)? daca da, cum? (pot rechema camplul tip BLOB care sa-mi contina imaginea doar folosind meniurile oferite de VFP?)

Szabolcs
 8/3/2011 12:22:56 PM
User is offlineslice3
22 posts


Re: memo field -fill/recall
 (N/A)
 Daniel Buduru wrote
REPLACE campul_cu_poza WITH filetostr('poza.jpg')


mda, imi cer scuze ca nu am fost destul de atent, deci adaug imaginile in tabel cu comanda de mai sus (vad ca creste fizic dimensinea tabelului, precum in "browse" se schimba si comentariul campului din "blob" in "Blob", banuiesc ca si o confirmare vizuala ca acel camp a fost editat, pina aici sa zicem ca este ok.
acum trec la modificarea acelui cod dat ca si exemplu, comentez codul initial ca sa il am ca si exemplu si modific pentru mine.
ca sa va ajute am calea d:\test\ cu subdirectoarele data respectiv images

unde gresesc in declararea/selectarea tabelului meu?


LOCAL lcDataDIR AS STRING, ;
    lcThisDir AS STRING, ;
    loRL AS REPORTLISTENER

*lcDataDIR = HOME( ) + 'Samples\Tastrade\'
vHOME = 'D:\TEST\'
lcDataDIR = HOME( )
lcThisDir = ADDBS( JUSTPATH( SYS( 16 ) ) )

CD ( lcThisDir )
CLOSE DATA ALL
*-- Create a temp cursor with a few fields, one of which is a
*-- BLOB. Store pictures in this field as raw binary data.


*SELECT CAST( ALLTRIM( First_Name ) AS VARCHAR ( 10 ) ) AS 'FNAME', ;
    CAST( ALLTRIM( Last_Name ) AS VARCHAR (10 ) ) AS 'LNAME', ;
    CAST( FILETOSTR( lcDataDIR + Photo_File ) AS BLOB ) AS 'PIC' ;
    FROM ( lcDataDIR + 'data\Employee.dbf' ) ;
    INTO CURSOR ReportTemp

SELECT CAST( ALLTRIM( test3.name ) AS VARCHAR ( 50 ) ) AS 'Name', ;
    CAST( FILETOSTR( lcDataDIR + 'images\' ) AS BLOB ) AS 'PIC' ;
    from (lcDataDIR + 'data\test3.dbf');
    INTO CURSOR ReportTemp

(la compilare ma pune sa aleg test3.dbf-ul dupa care imi spune ca el nu exista, unde gresesc cu el?)

*-- Close the table that you selected from. It is not needed.
* USE IN SELECT( 'EMPLOYEE' )


USE IN SELECT( 'test3' )

*-- This calls a function that makes a report programmatically.
*-- This is included here just to make sure that this sample can be run
*-- as-is, without asking the developer to manually create a report.


MakeReport() (banuiesc ca il pot comenta pentru ca reportul il construiesc cu designerul)

*-- Create an instance of the PreviewListener
*-- class defined later in this code.
*-- Call its custom InitBLOBImage() method,
*-- which creates an instance of an IMAGE object.
*-- This IMAGE has its PictureVal property set to the BLOB
*-- field ( 'ReportTemp.PIC' ) and its reference ( loRL.oBlobImage )
*-- is used as the control source for the OLE Bound control
*-- on the report.

loRL = NEWOBJECT( 'PreviewListener' )
loRL.InitBLOBImage( 'ReportTemp.PIC' )

*-- Make sure that the cursor is selected,
*-- and then run the report to preview using
*-- the instance of our Report Listener.

SELECT ReportTemp
REPORT FORM BlobReport OBJECT loRL
CLOSE DATA ALL
RETURN





*--------------------------------
*-- There has to be some way of redrawing the
*-- picture in the IMAGE class as the record pointer
*-- in the report's driving cursor changes; it does not occur
*-- automatically. This could be done by a UDF() in the PrintWhen
*-- of the OLE Bound control on the report, or as is illustrated here,
*-- by a Report Listener BEFOREBAND() Event.

DEFINE CLASS PreviewListener AS REPORTLISTENER
    oBlobImage = NULL
    PicBlobFld = ''
    LISTENERTYPE = 1  && Preview Listener

    PROCEDURE InitBLOBImage(lpcBlobField AS STRING)
        THIS.PicBlobFld = lpcBlobField
        THIS.oBlobImage = NEWOBJECT( 'IMAGE' )
        THIS.oBlobImage.PICTUREVAL = THIS.PicBlobFld
    ENDPROC

    PROCEDURE BEFOREBAND( nBandObjCode, nFRXRecNo )
        *-- Before the DETAIL band is rendered, ;
        *-- just redraw the IMAGE object so that it has
        *-- the correct picture from the BLOB field.

        IF nBandObjCode = 4 && Detail band
            THIS.oBlobImage.PICTUREVAL =;
                EVALUATE( THIS.PicBlobFld )
        ENDIF
    ENDPROC
ENDDEFINE




*--------------------------------
*-- This function programmatically creates a report
*-- with an OLE Bound control and other fields. This is included
*-- only for demonstration purposes so this article code can stand-alone.
*-- Typically, you would create your own report manually by using
*-- the report designer.

FUNCTION MakeReport (odata exemplu functional, si aceasta comanda cred ca se comenteaza, daca reportul va fi construit cu designer)
    CREATE REPORT BlobReport FROM ReportTemp

    *-- Open the report file (FRX) as a table.
    USE BlobReport.FRX IN 0 ALIAS TheReport EXCLUSIVE
    SELECT TheReport



    *-- Increase the height of the Detail band
    *-- (ObjType = 9 & ObjCode = 4) to fit the
    *-- Picture/OLE Bound control that is inserted later.
       
    UPDATE TheReport SET Vpos = 0, Hpos = 0, HEIGHT = 23542; (folosinduma de designer, si aceasta parte se elimina)
        WHERE ObjType = 9 AND ObjCode = 4

    *-- Since you increased the height of the Detail Band, you need to move
    *-- the items from the footer down so they are back in the footer again.
   UPDATE TheReport SET Vpos = 29479.167 ;
(folosinduma de designer, si aceasta parte se elimina)
        WHERE ( ObjType = 8 OR ObjType = 5 ) AND ;
        INLIST( EXPR, 'DATE()', '"Page "', '_PAGENO' )


    *-- Add a Picture/OLE Bound control to the report by inserting a
    *-- record with appropriate values. Using an object that is based on the EMPTY
    *-- class here and the GATHER NAME class later to insert the record makes it easier to
    *-- see which values line up to which fields (when compared to a large
    *-- SQL-INSERT command).

    LOCAL loNewRecObj AS EMPTY
    loNewRecObj = NEWOBJECT( 'EMPTY' )
    ADDPROPERTY( loNewRecObj, 'PLATFORM', 'WINDOWS' )
    ADDPROPERTY( loNewRecObj, 'Uniqueid', SYS(2015) )
    ADDPROPERTY( loNewRecObj, 'ObjType', 17 ) && "Picture/OLE Bound Control"
    ADDPROPERTY( loNewRecObj, 'NAME', 'loRL.oBlobImage' ) && The object ref to the IMAGE object.
    ADDPROPERTY( loNewRecObj, 'Hpos', 27500.000) && Place it in DETAIL band. (folosinduma de designer, si aceasta parte se elimina)
    ADDPROPERTY( loNewRecObj, 'Vpos', 3854.167) (folosinduma de designer, si aceasta parte se elimina)
    ADDPROPERTY( loNewRecObj, 'HEIGHT', 21354.167)(folosinduma de designer, si aceasta parte se elimina)
    ADDPROPERTY( loNewRecObj, 'WIDTH', 25104.167)(folosinduma de designer, si aceasta parte se elimina)
    ADDPROPERTY( loNewRecObj, 'DOUBLE', .T. ) && Picture is centered in the "Picture/OLE Bound Control"
    ADDPROPERTY( loNewRecObj, 'Supalways', .T. )
    *-- For the Picture/OLE Bound control, the contents of the OFFSET field specify whether
    *-- Filename (0), General field name (1), or Expression (2) is the source.

    ADDPROPERTY( loNewRecObj, 'Offset', 2 )

    *-- Add the Picture/OLE Bound control record to the report.
    APPEND BLANK IN TheReport
    GATHER NAME loNewRecObj MEMO

    *-- Clean up and then close the report table.
    PACK MEMO
    USE IN SELECT( 'TheReport' )
ENDFUNC
*
*------------ END CODE



Szabolcs
 8/3/2011 11:42:58 PM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A)
In articol se explica destul de clar (in comentarii) motivul pentru care reportul este creat in cod ...
Poti sa incerci si singur sa faci in designer ce ai propus in postul anterior.

Oricum, am sa rezum problema:
Intr-un report VFP se poate utiliza un singur tip de control imagine, si anume Picture / OLE Bound Control.
Acest control accepta trei tipuri de surse pentru continut:
- un fisier imagine, specificat prin cale/nume
- un camp de tip general
- un obiect imagine vfp.
Imagina continuta intr-un camo memo binary sau blob poate fi afisata intr-un obiect image vfp prin proprietatea pictureval a obiectului.
Obiectul imagine nu are proprietatea controlsource, deci nu poate afisa continutul unui camp in mod automat la deplasare in cursor, asa cum se intampla cu obiectele care au proprietatea controlsource.
Prin urmare, este necesata incarcarea imagini in obiect prin cod, la deplasarea pointerului in cursor.

Avand aceste informatii, putem rezolva problema afisarii unei imagini intr-un report printr-un obiect Picture/OLE Bound, a carui sursa este un obiect image, in a carui proprietate pictureval se incarca continutul campului blob sau memo.
Incarcarea trebuie realizata pentru fiecare inregistrare.
E nevoie de cate un control image distinct pentru fiecare obiect Picture /OLE pus in report.
Pentru incarcarea imaginii in obiectul image se scrie o functie care primeste ca parametri numele obiectului imagine si numele campului care trebuie incarcat in el.
Functia este apelata din clauza Print When a fiecarui control Picture.
Daca obiectul image primit ca parametru nu exista, este creat de catre functie.

Am atasat un exemplu complet - tabela cu doua campuri blob, functia loadblob si un report. Uita-te cum este facut reportul.


Daniel Buduru
Blob_Report.zip 
 8/4/2011 12:51:18 PM
User is offlineslice3
22 posts


Re: memo field -fill/recall
 (N/A)
cred ca am inceput exact cu partea in care spuneam ca sunt FOARTE incepator, si ma repet, pina acum nu am avut nici macar cea mai mica tangenta cu programarea ...
 slice3 wrote
... deocamdata nu posed nici macar informatiile de baza necesare. Am pus mana pe Foxpro doar de 3-4 zile ...

dar binenteles asta nu exclude faptul ca n-as putea invata.
Sunt convins ca timpul fiecaruia e pretios si va multumesc inca odata pentru rabdarea cu care incercati sa ma ajutati si sper in continuare sa o pot scoate la capat cu ajutorul vostru.

 Daniel Buduru wrote
In articol se explica destul de clar (in comentarii) motivul pentru care reportul este creat in cod ...
Poti sa incerci si singur sa faci in designer ce ai propus in postul anterior.

am inteles de ce s-a propus crearea acelui sample in cod (ca exemplu sa fie functional si sa nu necesite ca cel ce invata sa faca pasi aiditionali unde posibil sa poata gresi), dar cum eu din cod nu imi stiu construi baza de date, ma ajuta foarte mult designer-u. si de acea ar trebui cumva sa le combin.

 Daniel Buduru wrote
Oricum, am sa rezum problema:
Intr-un report VFP se poate utiliza un singur tip de control imagine, si anume Picture / OLE Bound Control.
Acest control accepta trei tipuri de surse pentru continut:
- un fisier imagine, specificat prin cale/nume - nu cred ca vine in discutie deoarece din cate am vazut trebuie sa imi afisez eu manual poza care va fi una si aceasi pentru fiecare rezultat. ( e bun pentru logo-uri dar nu si in cazul meu cand doresc fiecare articol din tabel sa isi poata recunoaste poza
- un camp de tip general - vad doar iconita de imagine atasata; iar cum zic baietii acestia http://fox.wikis.com/wc.dll?Wiki~ ImageData Requires outside (non vfp) programs to manipulate (view, save to file...) the image.
- un obiect imagine vfp. - sper sa ii pot da de capat pina la urma


 Daniel Buduru wrote
Imagina continuta intr-un camp memo binary sau blob poate fi afisata intr-un obiect image vfp prin proprietatea pictureval a obiectului.
Obiectul imagine nu are proprietatea controlsource, deci nu poate afisa continutul unui camp in mod automat la deplasare in cursor, asa cum se intampla cu obiectele care au proprietatea controlsource.
Prin urmare, este necesata incarcarea imagini in obiect prin cod, la deplasarea pointerului in cursor.

Avand aceste informatii, putem rezolva problema afisarii unei imagini intr-un report printr-un obiect Picture/OLE Bound, a carui sursa este un obiect image, in a carui proprietate pictureval se incarca continutul campului blob sau memo.
Incarcarea trebuie realizata pentru fiecare inregistrare.
E nevoie de cate un control image distinct pentru fiecare obiect Picture /OLE pus in report.
Pentru incarcarea imaginii in obiectul image se scrie o functie care primeste ca parametri numele obiectului imagine si numele campului care trebuie incarcat in el.
Functia este apelata din clauza Print When a fiecarui control Picture.
Daca obiectul image primit ca parametru nu exista, este creat de catre functie.

Am atasat un exemplu complet - tabela cu doua campuri blob, functia loadblob si un report. Uita-te cum este facut reportul.


hai sa disecam putin acest exemplu al tau:
  • un tabel cu 4 integistrari (poza1-4) respectiv 3 campuri: [pict name de tip char(10), picture (blob), pict2(blob)] cu ambele blob-uri incarcate pentru fiecare denumire. ok pina aici.
  • reportul: campul de pict_name adus cu Field control, nimic deosebit la setari
ambi campi tip blob adusi cu picture/OLE Bound control,  "control source expresion or variable name" cu nume goBlobImage fara nici o alta referire la vre-un camp tip blob din tabela. iar la print when: loadblob('goBlobimage','blob_pict.picture'). nu am gasit nici o alta setare car nu ar fi default.
  • prg-ul din spatele picture/OLE bound-ului. un IF din care nu am inteles nimic dar pe care cu copy/paste ar trebui sa il pot muta in prg-ul meu fara probleme.
toate bune pina aici DAR:
  1. cand ii dau preview la report vad doar campul cu denumirile (nu imi da nici o eroare) dar nici nu vad nici macar chenarul imaginii
  2. daca reiau procesul de construire a reportului, intru la ole bound properties>> control source >>> Verify, imi da raspuns ca Variabila "goBlobImage" nu o gaseste; sa zicem ca o ignor si fac inca un pas.
  3. merg la loadblob.prg si ii dau run, primesc eroarea cum ca pentru linia:      IF TYPE(tcObject)<>"O"      Function argument, type or count is invalid
unde gresec?

Szabolcs
 8/4/2011 1:05:09 PM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A)
Poate ar trebui sa incepi prin a invata limbajul de programare?

Pentru exemplul postat de mine:
Desfa zip-ul intr-un folder.
Fa acel folder director curent in vfp (SET DEFAULT TO ? , se deschide dialogul de selectie al folderului)
Ruleaza reportul cu preview.

Programul loadblob trebui esa primeasca doi parametri: numele variabilei care contine obiectul imagine si numele campului care trebuie incarcat in obiectul imagine.
IF-ul ala din care nu ai inteles nimic (nici nu ai cum, fara sa stii absolut nimic despre programare) verifica existenta obiectului imagine si, daca aceste nu exista, il creeaza.
Apoi incarca in acest obiect imaginea stocata in campul trimis prin cel de-al doile aparametru.
Daca rulezi acest program ca atare, cu run, fara a-i trimite cei doi parametri, evident ca ridica o eroare. In lipsa parametrului transmis, tcObject ia valoarea .F., iar functie TYPE asteapta un argument d etip caracter. De aici Function argument, type or count is invalid.

Imi pare rau daca nu poti rula exemplul. Nu am timpul necesar sa ghicesc unde gresesti.



Daniel Buduru
 8/4/2011 1:25:45 PM
User is offlineslice3
22 posts


Re: memo field -fill/recall
 (N/A)
crede-ma ca nu o fac ca sa enervez pe nimeni dar pina acum nu am reusit sa ii dau de capat
nu am zis ca nu pot rula exemplul tau ci doar faptul ca desi este complet nu il pot vizualiza complet. http://i52.tinypic.com/334uhqf.gif
vezi te rog linku de mai sus, asa arata la mine.
merge reportul dar fara poze ( sa inteleg ca desi FPT-ul din spatele tabelului are 1.5Mb, el nu contine imagini? )

partea cu functia am banuit-o ca este corecta chiar daca de sine statator da eroare, deoarece am rulat preview-ul reportului si nu mi-a dat eroare cu toate ca loadblod era la conditia de print when.

poti pune si tu o imagine cum arata acest raport la tine?


Szabolcs
 8/4/2011 1:41:54 PM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A)
Ruleaza reportul
Dupa rulare, in fereastra de comenzi, scrie asta:
goBlobimage.Visible=.t.
goBlobImage.Width=200
goBlobimage.Height=200
Ar trebui sa vezi poza din ultima inregistrare a tabelei, din campul picture (asta a fost ultimul incarcat in goBlobImage)
O vezi?

Daniel Buduru
 8/4/2011 1:45:16 PM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A) Modified By Daniel Buduru  on 8/4/2011 1:45:26 PM)
Poza se vede in screen-ul vfp, in coltul din stanga sus, nu in report.

Daniel Buduru
 8/4/2011 1:55:01 PM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A)
Uite si cum arata reportul

Daniel Buduru
Blob_report.JPG 
 8/4/2011 2:07:59 PM
User is offlineslice3
22 posts


Re: memo field -fill/recall
 (N/A)
multumesc pentru rabdare.
frumoase lalele

intr-un final mi-ai pornit si mie exemplul tau; nu stiu daca pentru ca am dat jos VP9SP1 si am pus VP9SP2 intre timp sau si-a facut el vre-un refresh pe undeva.
daca este vorba ca si-a pastrat undeva prin cache tabele, report sau altele; cum ma pot asigura ca de fiecare data cand reiau munca cu cate un tabel/forma ... el imi continua cu ultima versiune!? si mil afiseaza pe acesta si nu vreuna dinainte.

Szabolcs
 8/4/2011 2:52:12 PM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A)
Sp2 a rezolvat problema.

VFP nu are cache, si nici nu tine un istoric al versiunilor.
Foloseste-te de project manager pentru a tine urma resurselor.


Daniel Buduru
 8/4/2011 3:41:07 PM
User is offlineslice3
22 posts


Re: memo field -fill/recall
 (N/A)
uite si un test facut de mine dupa modelul tau,
super usor, merci de acea rutina care practic face totul, am vazut ca variabila ta de goBlobImage care initial am crezut ca e vreun termen intern cunoscut de VFP, chiar nu are nimic cu variabilele standard ale VFP-ului, l-am denumit aleatoriu  atat la expresie cat si la print when si nu m-a influentat deloc

http://i55.tinypic.com/35b9yeu.jpg

Szabolcs
 8/5/2011 9:04:33 AM
User is offlineDaniel Buduru
3522 posts
1st




Re: memo field -fill/recall
 (N/A)
Exista o metoda de atribuire a numelor variabilelor astfel incat sa poate fi identificate mai usor anumite atribute:
g - variabila globala (publica); p - privata, l - locala, t - parametru
o - variabila este de tip obiect; c - caracter, n - numeric, l - logic, d - data ...
BlobImage - numele obiectului respectiv, nume care sa aiba o semnificatie;
Aplicatia ar fi functionat la fel de bine si cu fifi, pongo, ab, sau orice altceva, dar codul devine ceva mai greu de urmarit  ....




Daniel Buduru
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  memo field -fil...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2013 Profox   Terms Of Use  Privacy Statement