info delphi - Delphi/Pascal - Programmation
Marsh Posté le 18-05-2002 à 17:39:44
Houla
Attention, c'est dans la définition de la base que cela est défini (et non dans Delphi)
on delete cascade ... (script de création de table)
Marsh Posté le 18-05-2002 à 18:04:18
ta pas ça avec les clientdataset....
avec les clientdataset tous se passe en mémoire et le tout et sauvegardé par la suite dans un fichier xml.....
Marsh Posté le 21-05-2002 à 16:59:39
ok j'ai trouvé...
j'ai fait un truc du genre
procedure TfrmAdmin.cmdSupprimerClick(Sender: TObject);
var
NoEcole : integer;
begin
if (lstEcole.ItemIndex <> -1 ) then begin
//enlève les courriel associé à l'école sélectionné
frmCsdm.cdsEcole.Locate('Ecole',lstEcole.Items[lstEcole.ItemIndex],[]);
NoEcole := frmCsdm.cdsEcole.FieldValues['NoEcole'];
showMessage(inttostr(NoEcole));
frmCsdm.cdsCourriel.Filter := 'NoEcole=' + quotedstr(inttostr(NoEcole));
frmCsdm.cdsCourriel.Filtered := True;
frmCsdm.cdsCourriel.First;
while not(frmCsdm.cdsCourriel.Eof) do frmCsdm.cdsCourriel.Delete;
frmCsdm.cdsCourriel.Filtered := false;
frmCsdm.cdsCourriel.Filter := '';
//efface l'école sélectionné de la liste et de la bd
frmCsdm.cdsEcole.Filter := 'Ecole=' + quotedstr(lstEcole.Items[lstEcole.ItemIndex]);
frmCsdm.cdsEcole.Filtered := True;
frmCsdm.cdsEcole.First;
while not (frmCsdm.cdsEcole.Eof) do frmCsdm.cdsEcole.Delete;
frmCsdm.cdsEcole.Filtered := false;
frmCsdm.cdsEcole.Filter := '';
frmCsdm.cdsEcole.MergeChangeLog;
frmCsdm.cdsCourriel.MergeChangeLog;
lstEcole.Items.Delete(lstEcole.ItemIndex);
end;
end;
et ça fonctionne...
je commence par effacé le détail et ensuite le maitre
Marsh Posté le 21-05-2002 à 17:25:24
os2 > à l'occasion regarde l'aide sur l'opérateur "with"
Code :
|
etc...
C'est moins fatiguant à écrire et plus optimisé au niveau code généré par le compilateur
Marsh Posté le 21-05-2002 à 19:21:30
je connais with
qui ta dit que c'était plus optimal à la compilation...
c + rapide?
exe plus petit?
antp a écrit a écrit : os2 > à l'occasion regarde l'aide sur l'opérateur "with"
|
Marsh Posté le 21-05-2002 à 19:56:00
Bhen il doit pas aller rechercher chaque fois la valeur du pointeur.
Marsh Posté le 21-05-2002 à 19:59:08
antp a écrit a écrit : Bhen il doit pas aller rechercher chaque fois la valeur du pointeur. |
Ouaip, je confirme, c'est plus performant
Marsh Posté le 21-05-2002 à 20:02:12
Pourquoi tu tires la langue en me quotant ? Je vais croire que c'est à moi qui tu tires la langue
Marsh Posté le 21-05-2002 à 23:45:45
antp a écrit a écrit : Pourquoi tu tires la langue en me quotant ? Je vais croire que c'est à moi qui tu tires la langue |
Marsh Posté le 22-05-2002 à 10:05:21
Belle démo
Seul point négatif : les screenshots en JPEG
Marsh Posté le 22-05-2002 à 10:13:36
Ha ? Bhen ça peut peut-être m'intéresser
Sinon pour le PNG : http://www.antp.be/PNG/
Marsh Posté le 22-05-2002 à 10:35:51
Bhen moi je trouve ça plus beau avec le with
Et surtout je suis paresseux, et j'aime pas devoir déclarer plein de variables et recopier leur nom à chaque fois
Je fais souvent des trucs de ce genre:
Code :
|
Sinon y a mieux : les with imbriqués :
Code :
|
[jfdsdjhfuetppo]--Message édité par antp le 22-05-2002 à 10:36:55--[/jfdsdjhfuetppo]
Marsh Posté le 22-05-2002 à 18:20:58
viiz a écrit a écrit : En effet ca a l'air bien clair |
Benh quoi, c'est clair... Et pratique avec ca
Moi aussi je suis un adepte du
with TMachinChose.Create do
try
finally
Free;
end;
Tellement pratique
Marsh Posté le 23-05-2002 à 12:24:09
ouai, moi aussi, chui un adepte de with et je rajouterais ke ça fait du code plus lisible si on en abuse pas...
c klerr ke le style :
with var1, var2, var3 do begin
...
end;
on fini par s'y perdre un peu...
mais dans l'initialisation "graphique" d'un composant par exemple :
disons, ke tu as dans ce composant 4 labels et 2 boutons, bin je trouve ke ça fait plus propre :
Code :
|
et dans le cas de création de variable anonyme, je trouve ça pas mal aussi :
au lieu de faire (mettons kon est truc: string en global):
Code :
|
c'est kan même plus clair de faire un truc dans ce style :
begin
with TBoiteDialogue.create(self) do begin
if showModal = mrOk then begin
truc := Edit1.text;
... etc.
else
... etc.
end;
end;
end;
Marsh Posté le 23-05-2002 à 12:26:28
Là, ça a plus grand chose à voir avec le topic de départ
Qui fait le topic (ou le sondage) With ou pas With, là est la question
Marsh Posté le 03-06-2002 à 13:31:28
antp a écrit a écrit : Bhen moi je trouve ça plus beau avec le with Et surtout je suis paresseux, et j'aime pas devoir déclarer plein de variables et recopier leur nom à chaque fois Je fais souvent des trucs de ce genre:
|
M'en parles pas ton code est chiant a comprendre des fois avec les With imbriqués
Marsh Posté le 03-06-2002 à 14:21:53
BlackSun a écrit a écrit : M'en parles pas ton code est chiant a comprendre des fois avec les With imbriqués |
c'est quoi ce up de vieux topic
Marsh Posté le 03-06-2002 à 17:22:28
viiz a écrit a écrit : lol 10 jours |
oui mais tout ça pour me critiquer
Marsh Posté le 03-06-2002 à 17:32:56
Reply
Marsh Posté le 18-05-2002 à 17:34:00
dans une relation maitre-détail....
j'ai un clientdataset pays
et un autre province
province est lié à pays
si j'efface un pays, delphi ne devrait t'il pas effacé les provinces assocé au pays?
si oui comment le forcer.....
---------------
Borland rulez: http://pages.infinit.net/borland