Flash11
Messages postés54Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 août 2011
-
9 août 2008 à 17:14
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
15 févr. 2009 à 21:44
Bonjour à tous et merci d'accorder de l'importance à ma demande ,
Je suis debutant dans delphi 2006 et j'essai de faire un programme pour ma propre utilisation mais je bloque sur un problème j'ai déja suivi pas mal de tutos pour developper ma formation mais aucune ne parle de celle ci .
Je souhaiterais qu'à partir d'une liste -> je choisis 2 séléctions différentes et que ces 2 selections soient imprimables d'une manière très précises . Je m'explique :
Vous prenez 1 tables dans laquelles on tire 2 noms du type : Paul et Luc . Ces 2 informations finalement prises j'aimerais qu'elles soient imprimables sur une feuille au centre écrit en gros ' Paul / Luc ' .
J'espère avoir été explicite dans mon explication . Si quelqu'un peux m'aider à résoudre mon problème , je le remercie d'avance .
Flash11
Messages postés54Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 août 2011 10 févr. 2009 à 23:09
Non non tu ne me comprends pas tu sais que nous avons 2 dbgrid qui a une base de données rempli soit le TDBGrid1 et un autre grid qui a une base de données identique mais vide permettant ainsi de glisser une selection du premier dans celle du 2ème .
J'ai mis RequestLive à true sur le query2 et j'ai trouvé dgRowSelect pour le Grid1 que j'ai mis aussi a true mais il m'affiche désormais une erreur au drag :
Violation d'accès à l'adresse 004175C5 dans le module 'Project1.exe'.Lecture de l'adresse 000000000.
var
Form1: TForm1;
DragRecords: array of variant;
ASource, DestSource: TDataSource;
implementation
{$R *.dfm}
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
DBGrid1.BeginDrag(true);
end;
procedure TForm1.DBGrid2DragDrop(Sender, Source: TObject; X, Y: Integer);
var
I: integer;
begin
DestSource := TDBGrid(sender).DataSource;
if ASource = DestSource then exit;
try
TDBGrid(sender).ReadOnly := false;
TDBGrid(sender).DataSource.DataSet.Insert;
for I := 0 to TDBGrid(sender).FieldCount - 1 do
TDBGrid(sender).Fields[I].Value := DragRecords[I];
TDBGrid(sender).DataSource.DataSet.Post;
finally
TDBGrid(sender).ReadOnly := true;
TDBGrid(sender).DragMode := dmManual;
end;
end;
procedure TForm1.DBGrid2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := (Source is TDBGrid) and (TDBgrid(sender).DataSource <> nil);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.Open;
Query2.Open;
end;
procedure TForm1.DBGrid2StartDrag(Sender: TObject;
var DragObject: TDragObject);
var
I: Integer;
begin
ASource := TDBGrid(sender).DataSource;
SetLength(DragRecords, TDBGrid(sender).FieldCount);
for I := 0 to TDBGrid(sender).FieldCount - 1 do
DragRecords[I] := TDBGrid(sender).Fields[i].Value;
end;
end.
Merci encore à toi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Flash11
Messages postés54Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 août 2011 11 févr. 2009 à 17:33
Très bien j'ai comparé les 2 projets et tu vas être très étonné du résultat. Tout est exactement identique j'avais juste appelé activé Tquery -Divers active mais la je l'ai désactiver.
Donc voila le problème après constatation :
Tu as créé des ajouter les colonnes a ton DBGrid1 en faisant ajouter tous les champs ...
Le problème c'est que lorsque tu as fait ça , tu charges le programme et ta table est directement chargé dans le DBGrid contrairement à moi. Par contre j'ai essayé de changer ta table country par ma table tb1 et j'ai rechangé les champs du tquery ainsi que celle de ton DBGRid1 et comme par magie c'est ma table qui s'affiche et le programme marche nikel ...
Alors faut m'expliquer ? Je fais exactement la même chose que toi sauf que ma table tb1 ne s'affiche pas dans mon DBGrid.
Flash11
Messages postés54Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 août 2011 14 févr. 2009 à 16:40
Salut Cantador désolé pour mon très très très long temps de réponse en réalité j'ai désormais fini le projet la fin s'est très bien déroulé et j'ai une superbe page :)
Phase finale :
Je voudrais créé quelque chose qui pourait installer le logiciel sur un autre pc . Le problème c'est que lorsque le programme se lance il charge DBDEMOS et il va aussi chercher des table tb1 et blanco dans des fichiers bien précis de Delphi .
Comment puis-je faire et quel logiciel utiliser pour créé une archive qui permettrait d'installer ce logiciel sur un autre ordinateur?
Merci à toi , mon projet touche à sa fin grace à toi :)
Flash11
Messages postés54Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention14 août 2011 15 févr. 2009 à 17:48
J'ai installer l'installshield qui était livré avec le cd de delphi 6 mais malheuresement ce n'est pas du tout la meme interface que sur le tutorial et je me suis cassé la tête à essayer de comprendre comment installer cette satané DBE et j'ai pas trouvé . J'ai cherché avec installshield 11 et installshield express v4 et je trouve pas -_-