[C 16bits] petit pb pour obtenir la date systeme

petit pb pour obtenir la date systeme [C 16bits] - Programmation

Marsh Posté le 27-07-2001 à 12:23:14    

Ce problème est tout gentil par rapport aux merdes énormes que j'avais jusqu'a hier, ms g besoin d'aide qd même !
En fait je suis sous 16bits, et g pas la doc qui correspond (g la MSDN Library récente !) alors c pas facile...
En fait g besoin de la date systeme, je doit la stocker dans un espace mémoire pointé par un LPSTR.
J'ai un problème parce que pour avoir la date système sous forme d'une chaine de char, je n'ai trouvé que _strtime qui me rend un pointeur near -->j'arrive pas à stocker ds la zone mémoire que  je veux (je suis pas fort du tout en 16bits, c ma 1ère fois. Et ma dernière !).
 
Vous pouvez résoudre mon pb de 2 manières:
  - en me donnant une fonction qui met la date système dans une chaine et rend un pointeur Far vers cette chaine.
 
 
  - en me donnant une fonction qui permet de copier le contenu de la mémoire pointée par un near, dans un far (LPSTR ou autre).
 
c chiant de rester bloqué sur des conneries comme ça...
J'exècre le 16bits !

Reply

Marsh Posté le 27-07-2001 à 12:23:14   

Reply

Marsh Posté le 27-07-2001 à 12:26:29    

El_gringo a écrit a écrit :

Ce problème est tout gentil par rapport aux merdes énormes que j'avais jusqu'a hier, ms g besoin d'aide qd même !
En fait je suis sous 16bits, et g pas la doc qui correspond (g la MSDN Library récente !) alors c pas facile...
En fait g besoin de la date systeme, je doit la stocker dans un espace mémoire pointé par un LPSTR.
J'ai un problème parce que pour avoir la date système sous forme d'une chaine de char, je n'ai trouvé que _strtime qui me rend un pointeur near -->j'arrive pas à stocker ds la zone mémoire que  je veux (je suis pas fort du tout en 16bits, c ma 1ère fois. Et ma dernière !).
 
Vous pouvez résoudre mon pb de 2 manières:
  - en me donnant une fonction qui met la date système dans une chaine et rend un pointeur Far vers cette chaine.
 
 
  - en me donnant une fonction qui permet de copier le contenu de la mémoire pointée par un near, dans un far (LPSTR ou autre).
 
En gros, en m'aidant à convertir un char* en un LPSTR !!!
 
Merci...
c chiant de rester bloqué sur des conneries comme ça...
J'exècre le 16bits !  



Reply

Marsh Posté le 27-07-2001 à 12:27:16    

En gros, en m'aidant à convertir un char* en LPSTR...
 
Merci...

Reply

Marsh Posté le 27-07-2001 à 12:35:14    

Ca marche pas en s'inspirant de ma fonction (16 & 32 aussi)
 
void ChargeDatHeurNow(short NumSp)
{
// charge la date et l'heure actuelle pour le spectre de dimension NumSp (>= 1)
 
     struct date d;
     struct time t;
     char Date[11], Heure[9];
 
     getdate(&d);
     sprintf(Date, "%02i/%02i/%4i", d.da_day, d.da_mon, d.da_year);
     gettime(&t);
     sprintf(Heure, "%02i:%02i:%02i", t.ti_hour, t.ti_min, t.ti_sec);
 
...
}
 
 :??:

Reply

Marsh Posté le 27-07-2001 à 12:36:09    

Passe par les handles memoire et tu auras ton LPSTR (je t'avais indique comment dans un autre post).
Je te rapelle qu'en 16 bit sous windows, on utilisait a fond la caisse les handles memoire.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 27-07-2001 à 12:55:35    

http://forum.hardware.fr/sqlforum/ [...] cache=&p=1
 
 
Si on a LPSTR Toto[xx], et char Truc[yy], strcpy(Toto, Truc); (voire par strncpy();) ça marche pas ? Peut-être que mon compilateur (BC3.1) est complaisant avec moi.  :D

Reply

Marsh Posté le 27-07-2001 à 12:59:15    

Ca depend du modele memoire dans lequel tu programme.  
(Y'avait small, compact, far, et un 4eme (medium? mixed?))
A+,

 

[edtdd]--Message édité par gilou--[/edtdd]


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 27-07-2001 à 13:15:23    

Sous Win 3.11, je suis toujours en modèle "large" (par défaut, par habitude et "négligence" ).  :)

Reply

Marsh Posté le 29-07-2001 à 02:42:27    

gilou> Il y en avait six: Tiny, Small, Compact, Medium, Large, et Huge. Tu utilisais l'un ou l'autre selon que tu avais besoin de plus ou moins de 64 Ko pour la pile, le tas, le code, aucun des 3 trois, ou certains des 3, ...
Mais j'ai toujours utilisé soit le modèle Small, soit le modèle Large. Et maintenant, le modèle Flat :D (équivalent au Tiny sauf qu'on utilise des pointeurs 32 bits au lieu de 16).

 

[edtdd]--Message édité par BifaceMcLeOD--[/edtdd]

Reply

Marsh Posté le 29-07-2001 à 03:07:52    

Sous windows tu n'avais pas huge ni tiny (juste 4 versions de la librairie, swin.lib,mwin.lib,...) y'avais la possibilite de declarer des pointeurs huge sous certaines conditions il me semble.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 29-07-2001 à 03:07:52   

Reply

Marsh Posté le 29-07-2001 à 03:11:37    

Moi, j'etais deja en flat sous windows 3.1:
J'utilisais le compilo Metaware, qui en debut de programme, faisait un malloc de 2 megs (Max) et gerait l'adressage lineaire dans cet espace. (On pouvait eventuellement utiliset GlobalAlloc et des fonctions proprios si on avait besoin de plus, mais c'etait rare).
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed