how to put or get 
Author Message
 how to put or get

data to or from a file?
I have a STRUC type data:
ex:
UneDd STRUCT
  NomPrenom     db ?
  Poids         dw  ?
  Taille        dw  ?
  TT            dw  ?
  TH            dw  ?
  IndexCombo1   dw  ?
  sexe          dd BOOLEAN
  TravailL      dd BOOLEAN
  TravailM      dd BOOLEAN
  TravailF      dd BOOLEAN
  NbBolDeLait   dw  ?
UneDd   ENDS

Can I put or get it ?
merci

--

Site web : http://www.*-*-*.com/
02/05/2000



Tue, 29 Oct 2002 03:00:00 GMT  
 how to put or get

Quote:

> data to or from a file?
> I have a STRUC type data:
> ex:
> UneDd STRUCT
>   NomPrenom     db ?
>   Poids         dw  ?
>   Taille        dw  ?
>   TT            dw  ?
>   TH            dw  ?
>   IndexCombo1   dw  ?
>   sexe          dd BOOLEAN
>   TravailL      dd BOOLEAN
>   TravailM      dd BOOLEAN
>   TravailF      dd BOOLEAN
>   NbBolDeLait   dw  ?
> UneDd   ENDS

> Can I put or get it ?
> merci

Am I to understand that you want to know how to write this to a file and
how to read it from a file? (I assume (CS:Mycode, DS:MyCode) so)  ;)

I don't remember how the strucs were supposed to be 'declared' but
anyway.

You have a struc:
MyStruc    UneDd    ?            ; Or something like that, I don't
remember anymore

you have already put in the necessary values and you want to save it to
file.
First you open a file (in DOS) with function 3Dh int 21h (do you know
how?)

mov ah, 3Dh            ; Open file
mov al, 01h              ; AL is 00h for read only,  01h for write only
and 02h for r/w
lea dx, FileName      ; Filename is: FileName db "MyFile.ext", 0
<---0 terminated
int 21h                     ; look this up in the interrupt list...

then you write using func 40h...just load the offset of MyStruc to dx...

You get the idea (I hope) check out the IntList

Jussi

Alors pourquoi vous crivez en francais maintenant? Je croyais que
c'tait anglais qu'on parlais partout :)



Tue, 29 Oct 2002 03:00:00 GMT  
 how to put or get
on parle comme on le sent non?;)
I wish use the Window's CreateFile &  Writefile functions and not the
interrupt
I tried :
        invoke WriteFile,hFile, OFFSET UneDd,szUneDd,ADDR SizeReadWrite,NULL
it's not ok
--

Site web : http://perso.wanadoo.fr/francois.menciere/Index.html mj
02/05/2000



Quote:

> > data to or from a file?
> > I have a STRUC type data:
> > ex:
> > UneDd STRUCT
> >   NomPrenom     db ?
> >   Poids         dw  ?
> >   Taille        dw  ?
> >   TT            dw  ?
> >   TH            dw  ?
> >   IndexCombo1   dw  ?
> >   sexe          dd BOOLEAN
> >   TravailL      dd BOOLEAN
> >   TravailM      dd BOOLEAN
> >   TravailF      dd BOOLEAN
> >   NbBolDeLait   dw  ?
> > UneDd   ENDS

> > Can I put or get it ?
> > merci

> Am I to understand that you want to know how to write this to a file and
> how to read it from a file? (I assume (CS:Mycode, DS:MyCode) so)  ;)

> I don't remember how the strucs were supposed to be 'declared' but
> anyway.

> You have a struc:
> MyStruc    UneDd    ?            ; Or something like that, I don't
> remember anymore

> you have already put in the necessary values and you want to save it to
> file.
> First you open a file (in DOS) with function 3Dh int 21h (do you know
> how?)

> mov ah, 3Dh            ; Open file
> mov al, 01h              ; AL is 00h for read only,  01h for write only
> and 02h for r/w
> lea dx, FileName      ; Filename is: FileName db "MyFile.ext", 0
> <---0 terminated
> int 21h                     ; look this up in the interrupt list...

> then you write using func 40h...just load the offset of MyStruc to dx...

> You get the idea (I hope) check out the IntList

> Jussi

> Alors pourquoi vous crivez en francais maintenant? Je croyais que
> c'tait anglais qu'on parlais partout :)



Wed, 30 Oct 2002 03:00:00 GMT  
 how to put or get
Sorry, I don't know how to do that with windows assembly.
Mais ca devrait fonctionner peu prs pareil.
If you use the piece of code you described below, what happens?
Est-ce que tu peux le 'compiler' ou ca ne marche pas?

Jussi    (Using the ancient "one-line-english-the-other-french" encoding)

Quote:

> on parle comme on le sent non?;)
> I wish use the Window's CreateFile &  Writefile functions and not the
> interrupt
> I tried :
>         invoke WriteFile,hFile, OFFSET UneDd,szUneDd,ADDR SizeReadWrite,NULL
> it's not ok
> --

> Site web : http://perso.wanadoo.fr/francois.menciere/Index.html mj
> 02/05/2000




> > > data to or from a file?
> > > I have a STRUC type data:
> > > ex:
> > > UneDd STRUCT
> > >   NomPrenom     db ?
> > >   Poids         dw  ?
> > >   Taille        dw  ?
> > >   TT            dw  ?
> > >   TH            dw  ?
> > >   IndexCombo1   dw  ?
> > >   sexe          dd BOOLEAN
> > >   TravailL      dd BOOLEAN
> > >   TravailM      dd BOOLEAN
> > >   TravailF      dd BOOLEAN
> > >   NbBolDeLait   dw  ?
> > > UneDd   ENDS

> > > Can I put or get it ?
> > > merci

> > Am I to understand that you want to know how to write this to a file and
> > how to read it from a file? (I assume (CS:Mycode, DS:MyCode) so)  ;)

> > I don't remember how the strucs were supposed to be 'declared' but
> > anyway.

> > You have a struc:
> > MyStruc    UneDd    ?            ; Or something like that, I don't
> > remember anymore

> > you have already put in the necessary values and you want to save it to
> > file.
> > First you open a file (in DOS) with function 3Dh int 21h (do you know
> > how?)

> > mov ah, 3Dh            ; Open file
> > mov al, 01h              ; AL is 00h for read only,  01h for write only
> > and 02h for r/w
> > lea dx, FileName      ; Filename is: FileName db "MyFile.ext", 0
> > <---0 terminated
> > int 21h                     ; look this up in the interrupt list...

> > then you write using func 40h...just load the offset of MyStruc to dx...

> > You get the idea (I hope) check out the IntList

> > Jussi

> > Alors pourquoi vous crivez en francais maintenant? Je croyais que
> > c'tait anglais qu'on parlais partout :)



Wed, 30 Oct 2002 03:00:00 GMT  
 how to put or get
Salut, francois.

Vois d'abord le concept de "file mapping" dans Win32.hlp et
l'exemple d'Iczelion dans sa liste de ses exellents tutorials.

Moi, je charge simplement en memoire ave "KERNEL32.CreateFileA"
et "KERNEL32.ReadFile". Aprs cela, on peut faire ce qu'on veut
des donnes (le file maipping est prfrable pour les trs gros
fichiers, si j'ai bien tout compris).

Maintenant, pour ton conxept de 'GET/PUT', il s'agit simplement
de lire et d'crire un block de donnes structures parmis les
donnes. Tu connais leur tailles, celle l'entte ventuelle, ect.

Il te suffit donc d'un pointeur sur la toute premire donne, d'un
ECX contenant la taille d'un enregistrement et d'un petite zone
de data de transfert (en .data), de la mme taille.

mov esi, Debut_Des_Donnees
mov edi, Ma_Zone_De_Stockage_Temporaire
mov ecx, Longueur_d_un_Enregistrement
mov eax, Quel_Enregistrement
mul ecx
add esi, eax
rep movsb

Il y a des fa?ons plus intelligentes de faire ?a mais ?a ne va
gure plus vite et ?a demande plus d'tudes (vois "addressing
32 bits modes" dans un manuel d'assembleur et comment en user
avec LEA).

Ensuite, tu fais ce que tu veux avec tes donnes et tu rcris
en faisant l'inverse (esi < > edi), tu rcris le fichier et
tu ferme le handle.

Tu peux aussi, bien s?r, faire les modifs sans tampon transitoire
mais c'est un peu plus propre et plus structur avec que sans...

Bye. Sois un peu plus explicite dans tes questions. On ne sait
pas trop quoi rpondre...

bisous. betov.



Thu, 31 Oct 2002 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. Getting awk (or sed or anything else) to put single quotes into file

2. Putting or Getting multiple files with RxFtp

3. puts and gets over IP

4. BUG?: HP-UX 10.20 and IO#gets followed by IO#puts

5. Communication puts/gets

6. gets/puts - encoded ?

7. question on puts, gets and eof?

8. puts/gets to sockets?

9. Getting a scale value put onto a label...

10. SmallEiffel and EiffelBase (COLLECTION.put vs. ARRAY.put)

11. ftp_lib.tcl 2.3 bgerror after timeout of control connection on put and false-positive FTP puts

 

 
Powered by phpBB® Forum Software