Ephemeride + Météo

Programmation d'applications complexes
Avatar de l’utilisateur
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Re: Ephemeride + Météo

Message par GallyHC »

Bonjour,

Pas mal pour une premiere contribution ^^.

mais, je viens de remarque un problème sur les informations des "disques durs". Déjà il ne détecte pas un disque. Après les 2 derniers disque détecter sont en fait un lecteur CD/DVD et lecteur de carte SD, qui on les valeurs du dernier disque réel.

Voir image (en rouge les disque "faux" (h et k)) :
Image

Cordialement,
GallyHC

Ré-edition :

Ok je viens de comprendre le problème. Ton appli ne peu fonctionner que pour toi en fait, car les lecteurs sont en dur dans le code, du style :

Code : Tout sélectionner

  drive$ = "E:\"
  GetDiskFreeSpaceEx_(@drive$,BytesFreeToCaller.int64,TotalBytes.int64,TotalFreeBytes.int64)
  ; calcul de la taille en Mb
  TotalMB = ((TotalBytes\Long1 >> 20) & $FFF) | (TotalBytes\Long2 << 12)
  FreeMB = ((TotalFreeBytes\Long1 >> 20) & $FFF) | (TotalFreeBytes\Long2 << 12)
  TotalMB=Int(TotalMB/1000)
  FreeMB=Int(FreeMB/1000)
Le problème est qu'il n'est pas bon pour un autre ordinateur que le tiens. Si j'ai un disque de xTo cela donne quoi? (forcement ça détend, ça dépasse). J'ai fait une petite routine permettant de convertir facilement en ko, Mo, ... voila le code :

Code : Tout sélectionner

Procedure.s ConvertSize(filesize.d, decimal.l = 1)
; ROUTINE DE CONVERSION DE LA TAILLE FICHIER.
  Protected i.l = 1
  Protected j.s = "o,Ko,Mo,Go,To"
  Protected k.l = CountString(j, ",")
  
  While filesize >= 1024 And i <= k
    filesize / 1024
    i + 1
  Wend
  
  Protected sres.s = StrF(filesize, decimal)
  Protected sent.s = StringField(sres, 1, ".")
  Protected sdec.s = StringField(sres, 2, ".")
  
  If i = 1
    ProcedureReturn sent + " o"
  Else
    If Val(sdec) = 0
      ProcedureReturn sent + " " + StringField(j, i, ",")
    Else
      ProcedureReturn sres + " " + StringField(j, i, ",")
    EndIf
  EndIf  
  
EndProcedure

; EXEMPLE :

Debug ConvertSize(100000)
Dernière modification par GallyHC le jeu. 23/juin/2016 17:11, modifié 2 fois.
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Ephemeride + Météo

Message par Marc56 »

Sur le forum us (ou ici ?) il y a eut un topic avec une façon de lister tous les disques durs.

Retrouvé (code de LSI):
viewtopic.php?f=1&t=12422&view=previous
À modifier pour l'unicode, mais fonctionne directe en 5.42.
En plus il te dit le type de biscotte utilisée, et le libellé.

:wink:
logis27
Messages : 34
Inscription : lun. 17/mars/2014 8:00

Re: Ephemeride + Météo

Message par logis27 »

Salut
L'éphéméride + météo proposé a été revue et corrigé.
Vous le trouverez là:
https://www.dropbox.com/s/xunh80ou5uyn6 ... n.rar?dl=0

J'ai tenu compte de la plupart des commentaires fait:
- suppression du monitoring disque dur. Ce sera repris dans un autre utilitaire.
- ajout d'infos en passant avec la souris sur certaines images
- receivehttpfile a été remplacé par receivehttpmemory

J'en ai profité pour aménagé un peu l'interface.
A+
Répondre