TProgressBar affichage continu
Bonjour,
Je fait une intégration de fichier .csv dans un StringGrid, mais j'ai plus de 300 lignes à intégrer... J'aimerais donc pouvoir faire une petite animation qui me permette de savoir à peut près ou j'en suis...
J'ai regarder dans les composants et j'ai trouvé la TProgressBar...
Mon problème c'est que je n'arrive pas à faire en sorte que celle-ci monte progressivement... elle atteint le bout de nombreuses fois... et redémarre à chaque fois...
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| void __fastcall TForm_Tab_Clients::BitBtn_chargerClick(TObject *Sender)
{
// ici on appelle la boite de dialogue ouvrir un fichier
OpenDialog->Filter = "Fichiers CSV (*.CSV) (*.csv)|*.csv|Fichiers TXT (*.TXT) (*.txt)|*.txt|Fichiers DOC (*.DOC) (*.doc)|*.doc|";
///////////////////////////////////
if(OpenDialog->Execute())
{
String FilePath = OpenDialog->FileName;
ProgressBar1->Visible = true;
///////////////////////////////////
// ici on va charger la StringGrid avec le fichier
int i;
int j;
char a;
AnsiString convertisseur;
TStringList *MyStringList = new TStringList();
MyStringList->LoadFromFile(FilePath);
ProgressBar1->Max = MyStringList->Count;
for(i=0;i<MyStringList->Count;i++,ProgressBar1->StepIt())
{
convertisseur=MyStringList->Strings[i];
// teste pour trouver les separateurs en fonction on modifie
if (convertisseur.Pos("\t") > 0)
a = '\t';
else
if (convertisseur.Pos("\;") > 0)
a = '\;';
else
if (convertisseur.Pos("\,") > 0)
a = '\,';
// on va chercher le separateur soit ( "\t" ) soit ( "\;" ) soit ( "\," )
for(j=0;(convertisseur.Pos(a)>=1);j++)
{
// on va chercher le separateur soit ( "\t" ) soit ( "\;" ) soit ( "\," )
convertisseur[convertisseur.Pos(a)]='\n';
//voir s'il faut ajouter un test sur le cas où j=0
if(j>StringGrid->ColCount)
StringGrid->ColCount = j;
if(i>(StringGrid->RowCount-1))
StringGrid->RowCount = i+1;
StringGrid->Rows[i]->Text = convertisseur;
}//fin du 2ème for
}//fin du 1er for
delete MyStringList;
}//Fin du if
Fichier_Charge = true;
ProgressBar1->Visible = false;
} |
Merci d'avance pour votre aide!