JeuxOnLineForumsPlusConnectés : 762 (sites) | 1356 (forums)Créer un compte
Forums divers
La Taverne
Les forums JOL > Forums divers > La Taverne > [Prog DELPHI]Un truc un peu dans le style WITH machin DO, mais pas tout à fait pareil RSS
   
Répondre
Partager Outils Rechercher
Avatar de Pierre-Loup
Pierre-Loup
Bagnard
 
Avatar de Pierre-Loup
 
Citation:
Provient du message de Lorim
c'est ma devise

mais cette méthode a l'avantage d'etre rapide (car la lecture/écriture d'un fichier texte c'est ultra rapide) et de ne pas prendre ou quasiment pas de puissance machine
On aura tout entendu.
Accéder au disque est infiniment plus lent que n'importe quelle boucle non-optimisée ou programmée avec les pieds.
C'est même ce qui limite la vitesse des applications, en règle générale.
Lien direct vers le message - Vieux
Avatar de Seiyar
Seiyar
Alpha & Oméga
 
Avatar de Seiyar
 
Essai d'associer une variable en string qui se modifie selon l'incrémentation de ton compteur.

Un truc du genre :

for ( i=1 ; i = 99 ; i++ ){
img = "image" + i ;
ligne de chargement de l'image ;
}

C'est du java, mais comme c'est aussi un langage objet, ca doit y ressembler. En fait, je te propose simplement de creer une variable de type string que tu modifie dans ta boucle.
Lien direct vers le message - Vieux
Avatar de Hanny Drocéphale
Hanny Drocéphale [FED]
 
Avatar de Hanny Drocéphale
 
Code PHP:
Procedure ClaqueDesBMPDansToutMesControlesTimage;
var
 
integer;
begin
  
for := 0 to self.ComponentCount do // self = ta form, a remplacer par le controle parent de tes Timage.
  
begin
    
if Components[iis TImage then (Components[i] as Timage).Picture.LoadFromFile('MonImageDePingouin.bmp');
  
end;
end
je vois pas plus simple


[edit] correction mineure
Lien direct vers le message - Vieux
Avatar de Mothra
Mothra
 
Avatar de Mothra
 
Code:
image tabimage[4096];

for(int i = 0; i < 99; i++)
{
  sprintf(name,"monfic%d.img", i);
  tabimage[i].load(name)
}
voila un truc qui fait ca en C++, ca doit surement pouvoir s'ecrire a la strict identique en delphi ou en pascal objet. Ca fait 6 ans que je n'ai pas dait de pascla ou de delphi alors je ne sais plus t'aider pour ce qui est de la syntaxe precise.
Lien direct vers le message - Vieux
Avatar de Loekit
Loekit
Alpha & Oméga
 
Avatar de Loekit
 
C'est bon, c'est trouvé
Code PHP:
For i:=0 to 9 do
begin
    
for j:=0 to 9 do
    
begin
        
(FindComponent('Image' IntToStr(i)+ IntToStr(j))as Timage).Picture.LoadFromFile('image.jpg')
    
end;
end
Un grand merci à tout ceux qui m'ont aidé à trouvé ce truc qui me sera super utile pour mon projet.
Special Thanks to Jezabelle qui a trouvé la formule magique (la première puisque d'autres ont donné des trucs simillaire par la suite).

Lien direct vers le message - Vieux
Avatar de Lorim
Lorim
Alpha & Oméga
 
Avatar de Lorim
 
Citation:
Provient du message de Geshir-Ouaf
On aura tout entendu.
Accéder au disque est infiniment plus lent que n'importe quelle boucle non-optimisée ou programmée avec les pieds.
C'est même ce qui limite la vitesse des applications, en règle générale.
c'est vrais un fichier texte en accès disque c'est super lent

surtout vis a vis d'une mauvais boucle ^^;
Lien direct vers le message - Vieux
Avatar de Mothra
Mothra
 
Avatar de Mothra
 
fait : Il y a un facteur de temps de reponse de l'ordre de 1 million entre la memoire et le cache du disque. Il y a un facteur 1000 entre le cache niveau 1 et la memoire. Au mieux la lecture dans un fichier :
- cout d'un appel systeme pour l'ouverture creation des fd etc changement de contexte de processus et passage en mode noyau.
- lecture du premier bloc du fichier, extremement couteux puisque operation realisée hors cache disque.
- lecture suivantes : cout d'une operation mémoire.
- si le disque n'est pas fragmenté : la lecture du bloc suivant a certainement été faite en prefetch, ca coute donc le prix d'une lecture en cache disque (facteur 10000 a 100000 quoi)
- sinon tu repayes une vrai lecture hors cache disque et la merci bonjour.

Utiliser un fichier "peut etre presque aussi rapide" que d'utiliser de la memoire. Dnas le pire des cas c'est 1 Million de fois plus lent au minimum.
Lien direct vers le message - Vieux
Avatar de Hanny Drocéphale
Hanny Drocéphale [FED]
 
Avatar de Hanny Drocéphale
 
je viens de tester ça :


Code PHP:
procedure TForm1.Button1Click(SenderTObject);
var
 
integer;
begin
  
for := 0 to self.ComponentCount do
  
begin
    
if ((Components[iis TImage) and ((Components[i].Name >= 'Image1') and (Components[i].Name <= 'Image99'))) then (Components[i] as Timage).Picture.LoadFromFile('c:\winnt\winnt.bmp');
  
end;
end
Ca a l'avantage de ne toucher que les Timage nommés (image+n°)
Lien direct vers le message - Vieux
Avatar de Pierre-Loup
Pierre-Loup
Bagnard
 
Avatar de Pierre-Loup
 
Citation:
Provient du message de Lorim
c'est vrais un fichier texte en accès disque c'est super lent

surtout vis a vis d'une mauvais boucle ^^;
Oui, c'est exactement ce que j'ai dit, et je maintiens.
Le temps d'ouverture du fichier est diablement plus long que n'importe quelle boucle mal optimisée.
Lien direct vers le message - Vieux
Avatar de Lorim
Lorim
Alpha & Oméga
 
Avatar de Lorim
 
Citation:
Provient du message de Geshir-Ouaf
Oui, c'est exactement ce que j'ai dit, et je maintiens.
Le temps d'ouverture du fichier est diablement plus long que n'importe quelle boucle mal optimisée.
aaaah?
c'est bizarre car moi en deux ans de travail sur fichier mode texte (reconnaissance de caractère,formatage du texte,traduction ascci-ansi et inversement tout ca sur du texte brut) pour intégration dans des BDD (Ms Acces et Oracle principalement) ...
Bah étrangement la plupart des traitements était plus rapide avec des fichiers texte ^^

Ou ca doit etre mon imagination peut etre ^^
Lien direct vers le message - Vieux
Avatar de Pierre-Loup
Pierre-Loup
Bagnard
 
Avatar de Pierre-Loup
 
Et ben moi, sur mon pc normal, avec un disque normal, et un processeur rapide, étonnamment, le disque retarde les opérations processeur.
Enfin bon, sur un serveur de base de données, ça doit être un petit peu différent
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forums divers > La Taverne > [Prog DELPHI]Un truc un peu dans le style WITH machin DO, mais pas tout à fait pareil
   

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés

Outils Rechercher
Rechercher:

Recherche avancée

Thème visuel : Fuseau horaire GMT +1. Il est actuellement 17h04.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite