LIRE UN FICHIER BINAIRE

Signaler
Messages postés
56
Date d'inscription
mardi 5 mars 2002
Statut
Membre
Dernière intervention
12 août 2010
-
Messages postés
14
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
19 octobre 2004
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11679-lire-un-fichier-binaire

Messages postés
14
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
19 octobre 2004

De la manière dont tu procède c'est excesivement long et pour rien du tout. Tu perd énormement de temps en traitement quand tu fais :

memo1.Text := memo1.Text + Char(StrToInt(ListBox1.Items.Strings[i]));

-Solution-
En 30 secondes j'ai modifié ton source (apres avoir du faire un fin de tache de l'appli lancée car bcp bcp bcp trop long)

Tu déclare une Variable de type String que j'ai appelé Variable (justement .. pkoi se creuser la tete)

For i:= 0 to ListBox1.Count -1 do
Begin
Gauge1.Progress := i;

If ListBox1.Items.Strings[i] = '0' Then
Begin
Variable := Variable + '.';
end
else
Begin
Variable := Variable + Char(StrToInt(ListBox1.Items.Strings[i]));
End;
End;
memo1.Text := Variable;

Et là oh miracle !! comment c'est presque instantanné .. voilou ;-)
Mais c'est bien de mettre des exemples comme ca, moi je viens de commencer le Delphi (je suis codeur C++ et VB)
Messages postés
67
Date d'inscription
lundi 1 juillet 2002
Statut
Membre
Dernière intervention
1 septembre 2006

Et en tablo dynamique ca marche pas ?
Messages postés
56
Date d'inscription
mardi 5 mars 2002
Statut
Membre
Dernière intervention
12 août 2010

Effectivement, je viens de lire ton source, la méthode est lourde, on charge tout en RAM, et on dicotonise. Mais une question, ceci ne marche pour des fichiers inférieure ou égal à 10000 octets soit 9,76 Ko. Je n'en accomoderai, merci pour le source