cs_youcef_dz
Messages postés4Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention18 août 2006
-
25 mars 2005 à 10:44
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006
-
25 mars 2005 à 14:56
bonjour tous le monde
En réalité j'ai quelques soucis à exposer :
j'aimerai savoir est ce que c'est possible de faire un contrôle sur Tedit pour vérifier durant la saisi :
1er : n'autorise qu'un seul type de donnée a être saisi exemple : autorise uniquement les chiffre ou bien certain caractère ou uniquement les lettres.
2ème : Ne donner la possibilité de saisir qu'une longueur précise au maximum.
est il possible de savoir si une Tform est ouverte malgre qu'elle n'est pas visible sur l'écran, c'est-à-dire cache par une autre Tform.
est ce que c'est possible de charger des données à partir d'une Tdbgrid vers une Tform qui est fermée c'est-à-dire si je clique sur un enregistrement des données précise sont affecte dans des Tedit de la dite Tform, soit qu'elle soit appeler par ce double clique, ou bien elle est cache dernier la Tform contenant la Tdbgrid en question.
J'essai de réalisé une application de gestion de bibliothèque, je rencontre un problème pour affiche le contenue d'une table dans le Tdbgrid.
J'utilise comme système d'exploitation le WindowsXP™. Pour Delphi™, j'ai la version 6 édition entreprise, en ce qui concerne Interbase j'utilise la version livre avec Delphi™ 6.
J'utilise une data module sur la quel j'ai mis une Datasource (DS_lec) pour la table lecteur, relier a un composant IBQuery (IB_Qry_lec) un composant IBTransaction et IBDataBase sur le quel est branche IB_Qry_lec
Mais malheureusement je ne sait pas pourquoi le grille (dbgride) reste vide pourtant je l'ai relié avec DataSource, j'ai renseigné les colonnes en ce qui concerne FiledName.
Merci d'avance a tous ce qui se sont donnée la peine de lire mon message
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 25 mars 2005 à 13:13
j'aimerai savoir est ce que c'est possible de faire un contrôle sur Tedit pour vérifier durant la saisi :
1er : n'autorise qu'un seul type de donnée a être saisi exemple : autorise uniquement les chiffre ou bien certain caractère ou uniquement les lettres.
2ème : Ne donner la possibilité de saisir qu'une longueur précise au maximum.
1 >> dans l'événement OnKeyPress du Edit, mets le code suivant :
If Not (Key In #8,#13,'0'..'9','a'..'z','A'..'Z') Then Key:=#9;
il autorise les chiffres et les lettres. A toi de modifier ensuite pour ton usage personnel
2 >> mets le nombre de caractères maximum dans la propriété "MaxLength" du Edit
est il possible de savoir si une Tform est ouverte malgre qu'elle n'est pas visible sur l'écran, c'est-à-dire cache par une autre Tform.
essaye de repérer la fenêtre avec son nom :
var
H : THandle;
begin
H := FindWindow(nil,'nom de la fenêtre');
if H <> 0 then ShowMessage('La fenêtre est ouverte')
end;
est ce que c'est possible de charger des données à partir d'une Tdbgrid vers une Tform qui est fermée c'est-à-dire si je clique sur un enregistrement des données précise sont affecte dans des Tedit de la dite Tform, soit qu'elle soit appeler par ce double clique, ou bien elle est cache dernier la Tform contenant la Tdbgrid en question.
c'est possible, pourvu que la fenêtre ait été crée au départ.
Pour la table, je ne peux pas te répondre...
Possédant la version 6 perso de Delphi, je ne peux pas manipuler de BDD, c'est bien dommage d'ailleurs.....
@+
Bonne Prog'
Nico
<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006 25 mars 2005 à 14:56
Pout ton problème de query, tu as fermée la transaction juste après avoir ouvert le query.
Si il n'y a pas de transaction ouverte entre ton application et le serveur, ton query ne sait pas communiquer.
Je te conseille ceci :
1. Télécharger la dernière version d'Interbase Express 6.08 (pour delphi6);
2. Chaque query, dataset, ... doit avoir sa transaction propre, comme
cela tu ne te mèles pas les pinceaux en femant une transaction qui
comprend plusieurs query.
3. Dans les events BeforeOpen et AfterClose des dataset, place les codes suivants :
On suppose que ton TIBQuery, nommé sql1, est lié à
une transaction TIBTransaction, nommée, trans_sql1. Et que la propriété
database du query et defaultdatabase de la transaction pointe sur
la même base de données.
Dans le beforeopen tu places le code :
if not trans_sql1.intransaction then trans_sql1.Starttransaction;
Dans le afterclose tu places le code :
if trans_sql1.intransaction then trans_sql1.commit;
Toujours vérifier que la transaction est active ou pas pour l'activer ou la fermer au sinon => exception