Fichiers

cs_eleve123 Messages postés 18 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 24 avril 2008 - 11 mai 2007 à 19:59
cs_eleve123 Messages postés 18 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 24 avril 2008 - 13 mai 2007 à 15:40
Bonjour,
encore je pose la même question, je cherche un exemple (code ou application) d'un fichier à accès direct, j'ai dèja regardeé l'exemple "Gestion de biblithéque", si qlq 'un pourrait m'aider. Merci d'avance!
:) :)

3 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
13 mai 2007 à 13:58
l'exemple cité utilise le type "Record" donc accès séquentiel..
si tu veux un accès direct, sauf erreur de ma part,
il te faut créer une table.
A+
0
cs_eleve123 Messages postés 18 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 24 avril 2008
13 mai 2007 à 15:26
Bonjour 'Cantador';
je travaille avec les fichiers à accès direct, je cherche comment on peut supprimer un enregistrement et afficher dans une listebox les enregistrements qui sont pas supprimés. J'ai trouvé 2 exemples ici "Gestion de Bibliothèque et Gestion mediatique avec 3 fichier" mais je ne suis pas arrivé à utiliser leur code, sinon je vais devoir refaire mon code.
Merci bc!!!
0
cs_eleve123 Messages postés 18 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 24 avril 2008
13 mai 2007 à 15:40
re
ici j'ai utilisé une mèthode qui remplace l'enregistrement voulu supprimé par un vide:
procedure TfClients.bSupprimerClick(Sender: TObject);
begin
unclient.Code:='';
 unclient.Nom      := '';
 unclient.Prenom   := '';
unclient.Adresse := '';
unclient.CPostal  := '';
unclient.Localit  := '';
 unclient.Pays := '';
seek (fClient, filepos(fClient)-1);
 write(fClient,unclient);
seek (fClient, filepos(fClient));
end;

et pour afficher les enregistrement non supprimés:
procedure TfClients.bListerClick(Sender: TObject);
Var nb:Integer;
begin
 lbClient.Clear;
 nb:=Filesize(fClient);
 Numero:=0;
 Seek(fClient,0);
 While Numero<Nb Do
 Begin
   Read(fClient,UnClient);
    if Unclient.Code <> '' then
   lbClient.Items.Add(UnClient.Code+' '+UnClient.Nom+' '+
                      UnClient.Prenom+' '+
                      UnClient.Adresse+' '+
                      UnClient.CPostal+' '+
                      UnClient.Localit+' '+
                      UnClient.Pays);
 
  Inc(Numero);



 End;
 Initialiser;

end;


Mais le probleme c 'est ici :
je selectionne un enregistrement de la listebox pour afficher chaque champ dans sa boite d'edition , la je reste coincé . voici le code:
procedure TfClients.lbClientClick(Sender: TObject);
begin
 Numero:=lbClient.ItemIndex;
 seek(fClient,Numero);
 Read(fClient,UnClient);
  seek(fClient,Numero);
 Read(fClient,UnClient);
 eCode.Text:=UnClient.Code;
 eNom.Text:=UnClient.Nom;
 ePrenom.Text:=UnClient.Prenom;
 eAdresse.Text:=UnClient.Adresse;
 eCodePostal.Text:=UnClient.CPostal;
 eLocalite.Text:=UnClient.Localit;
 ePays.Text:=UnClient.Pays;
 bModifier.Enabled:=True;
 bEnregistrer.Enabled:=False;
 end;
0
Rejoignez-nous