Bonjour,
je souhaite créer sous C++ Builder un Outil de modification / saisie du fichier d’initialisation des paramètres à une carte connectée à l'ordinateur par un COM virtuel.
Pouvais vous m'aider ?
Merci d'avance
Bonjour,
je souhaite créer sous C++ Builder un Outil de modification / saisie du fichier d’initialisation des paramètres à une carte connectée à l'ordinateur par un COM virtuel.
Pouvais vous m'aider ?
Merci d'avance
C'est à dire ?
Tu veux stocker le BaudRate, StopBits, Parity ... de la configuration utilisé avec ton port COM virtuel ?
Est-ce un format libre que tu vas définir ? utilise TIniFile ou une TStringList
Est-ce un format imposé par un logiciel tiers ? utilise TFileStream
Est-ce que le Port COM concerne vraiment la problématique de fichier ou c'est juste que tu amalgames tout !
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
En fait je dois lire un fichier ".ini" contenant des constantes, récupérer les données et les copier dans les différentes constantes que j'utilise dans mon projet. En fait pour le port COM il y a juste la variable contenant le nom du port...
Utilise tout simplement TIniFile
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci beaucoup j'ai réussi le programme.
J'ai un autre problème si tu peux m'aider stp.
J'utilise des composants videolab pour faire fonctionner une caméra sur c++ Builder. Je doit faire une fonction permettant de confirmer la prise de la photo pour que le programme puisse continuer. On m'a dit d'utiliser peut être un timer mais je voit pas comment.
La prise d'une photo se fait en activant le filtre de la caméra.
Merci d'avance
MagRemi
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci beaucoup !
Sais tu comment faire pour créer un répertoire de travail et enregistrer dans le répertoire sous C++ Builder ?
Merci.
Répertoire de Travail pour le programme ?
Utilise GetTempPath() comme base de dossier, tu peux y créer tes fichiers temporaires et inclure une fonction de nettoyage à ton programme à sa fermeture, c'est ce que je fais pour ma part
Ce code est utilisé dans une DLL partagée par plusieurs programmes pouvant être lancé simultanément (tous étant UniqueInstance), pour chaque appelant, un répertoire de travail est créé !
DeleteTemporaryFiles est appelé lors du déchargement de la DLL par un Exe appelant
Sachant que dans un comportement normal, j'essaye de supprimer explicitement les fichiers temporaire que l'objet qui les a créés est libéré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 //--------------------------------------------------------------------------- /*static*/ TFileName Txxx::GetTemporaryPath() { TFileName Result; wchar_t TempPath[MAX_PATH]; if (GetTempPathW(MAX_PATH, TempPath) > 0) { wchar_t ModuleFileName[MAX_PATH]; GetModuleFileNameW(NULL, ModuleFileName, MAX_PATH); // NULL c'est pour l'EXE même si depuis une DLL, avec HInstance cela fournirait le nom de la DLL Result = xxxFormatString("%s\\xxx\\%s\\", (ExcludeTrailingPathDelimiter(TempPath), ExtractFileName(ModuleFileName))); } return Result; } //--------------------------------------------------------------------------- /*static*/ void Txxx::DeleteTemporaryFiles() { // Dans certains circonstances, certains fichiers temporaires n'ont pu être supprimés proprement ! // Exemple, lors d'un Echec ... (abus de clic sur Pause), la lib ... ne libère pas le fichier, il faudra fermer, relancer et re-ferme le moniteur pour nettoyer ces fichiers ! TFileName TempPath = GetTemporaryPath(); if ( ! TempPath.IsEmpty()) { TFileName TempMask = TempPath + "*.*"; int Len = TempMask.Length(); int Size = Len + 1; // +1 pour le caractère zéro terminal de chaine wchar_t* pFormArray = new wchar_t[Size + 1]; // +1 pour le caractère zéro terminal de tableau de chaine try { StrCopy(pFormArray, TempMask.c_str()); pFormArray[Size] = 0; // Indique la fin du tableau de chaine SHFILEOPSTRUCTW DeleteCriteria; ZeroMemory(&DeleteCriteria, sizeof(DeleteCriteria)); DeleteCriteria.wFunc = FO_DELETE; DeleteCriteria.pFrom = pFormArray; DeleteCriteria.fFlags = FOF_FILESONLY | FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI; SHFileOperationW(&DeleteCriteria); } __finally { delete [] pFormArray; } RemoveDir(TempPath); } }
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci, oui c'est pour une créer un répertoire de travail qui contiendra ensuite les photos prisent par mon programme...
Peux tu m'aider sur les bases de données ?
Je souhaiterai récupérer des valeurs présentent dans une ListBox pour les intégrer dans ma base de données. Comment je peux faire ?
Merci d'avance
MagRemi
Utilise une TDBListBox
Voir Delphi et SGBD
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Bonjour,
Je te remercie de tes informations.
J'ai un autre problème, comment peut on utilisé un événement portCOM dans un thread.
J'ai essayer d'appeler la fonction comme ceci :
Mais je ne connait pas Sender et Count donc cela ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part From1->ComPort1RxChar(Sender,Count);
Si tu peux m'aider stp
C'est un Gestionnaire d'Evenement ce n'est pas toi qu'il l'appelle
Tu dois juste en faire l'implémentation, là c'est les bases de la VCL en général, conventions que respecte le TComport, voir le tutoriel dont l'article IV-H. Lecture d'une valeur sur Rx
Il est temps de prendre en main l'aide via la touche F1 et faire une démarche de recherche un peu plus approfondi !
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager