gabs77
Messages postés379Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention 8 octobre 2008
-
23 janv. 2007 à 11:59
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
24 janv. 2007 à 21:27
bonjour,
je travaille actuellement avec un fichier texte.
Ce fichier texte est la liste des fetes a feter donc chaque ligne correspond a une date et a un ou plusieurs nom(s)
c est présenté sous la forme suivante : jj/mm : personne1/personne2/etc...
ex avec un extrait du fichier texte utilisé
je souhaite a partir de la avoir la possibilité d'ajouter une fete a une date donnée par l intermediaire de 2 edits
ex :
edit1 => 03/03
edit2 => Quentin
resultat souhaiter :
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 20093 23 janv. 2007 à 12:59
et quelle est ta question???
sans question, je te donne une voie général.
<li>utilise un TStringList pour charger le fichier</li><li>parcourt le à la recherche de ta date (fait les vérifiaction d'usage sur le format et la validité avant.)</li><li>puis, ajout le nom (ev. ajout des test pour les doublons ou les homonymes)</li><li>et pour finir sauve le fichier</li>
un détail en passant
avec un TMemo.Lines.Delimiter:= '/' et un pos/copy tu peux charger ta list de nom assez facilement.
Si t'as une question précis sur une étape et que tu ne trouve pas de réponse, post une question...
Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 23 janv. 2007 à 14:24
uses StrUtils;
function GetStrPart(const Str, Delimiter: String; const WordIndex: cardinal = 1): String;
var I,P1,P2,LD : integer;
begin
Result := '';
if (posex(Delimiter,Str[1]) = 1) and (WordIndex <= 1) then exit;
P1 := 1;
LD := Length(Delimiter);
for I := 1 to WordIndex-1 do begin
P1 := posex(Delimiter, Str, P1);
if P1 = 0 then
exit
else
P1 := P1 + LD;
end;
P2 := posex(Delimiter, Str, P1);
if P2 = 0 then
P2 := length(Str) + 1;
Result := copy(Str, P1, P2 - P1);
end;
Edit1.Text := GetStrPart(List[N], ':', 1); // renvois la date
Edit2.Text := GetStrPart(List[N], ':', 2); // renvois les noms
Edit3.Text := GetStrPart(Edit2.Text, '/', 1); renvois le premier nom