PFLDDesc

vico8000 - 9 août 2017 à 15:22 - Dernière réponse :  vico8000
- 10 août 2017 à 10:30
Bonjour,
je suis de nouveau complètement largué dans mon développement.

Voici le bout de code qui me pose problème :

function Cherche_structure : Integer;
var
pFlds: pFLDDesc;
i: Integer;
begin
// Initiation des variables
pFlds := AllocMem((Table_pour_structure.FieldCount + 1) * sizeof(FLDDesc));
FillChar(pFlds^, (Table_pour_structure.FieldCount + 1) * sizeof(FLDDesc), 0);
Check(DbiGetFieldDescs(Table_pour_structure.handle, pFlds));
SetLength(Tabstructure, Table_pour_structure.FieldDefs.Count);
SetLength(Tablongeurstring, Table_pour_structure.FieldDefs.Count);
SetLength(Tab_signe, Table_pour_structure.FieldDefs.Count);
SetLength(Tab_nom_champ, Table_pour_structure.FieldDefs.Count);

for i := 0 to Table_pour_structure.FieldDefs.Count - 1 do
begin
if i <> 0
then begin
Inc(pFlds, 1); // Passer au champ suivant ...
end;
Tablongeurstring[i]:=pFlds^.iUnits1; // Récupération de la longeur du champ
Tab_nom_champ[i]:=pFlds^.szName; // Récupération du nom du champ
if LeftStr(pFlds^.szName,3)='NS_' then // Test du nom du champ pour savoir si l'on a un entier signé ou non
Tab_signe[i]:=False
else
Tab_signe[i]:=True;
Case pFlds^.iFldType Of // Récupération du type de donnée du champ
1: begin
if LeftStr(pFlds^.szName,2)='H_' then
Tabstructure[i] := 'Heure'
else
Tabstructure[i] := 'String';
end;
2: Tabstructure[i] := 'Date';
3: Tabstructure[i] := 'Memo';
4: Tabstructure[i] := 'Bool';
5: Tabstructure[i] := 'Integer';
6: Tabstructure[i] := '???';
7: begin
if pFlds^.iUnits2=0 then
begin
Tabstructure[i] := 'Integer';
end
else
begin
Tabstructure[i] := 'Float';
end;
end;
Else
Tabstructure[i] := 'Ché pas';
End;
end;
Result:= Table_pour_structure.FieldDefs.Count;
end;


Je n'ai encore rien modifié dessus pour le moment.
Le seul truc qui me parait logique est de modifier les Table_pour_structure (TTable) par de l'adoquery puisque c'est le composant que j'utilise pour toutes mes modifications.
Le vrai problème c'est que je ne connais absolument pas pFLDDesc et je n'ai rien trouvé de très concluant à son sujet.
J'aimerai donc avoir un peu d'aide sur cette fonction pour virer l'existant afin d'avoir un truc qui fonctionnerai avec SQL. Je prend également les docs concernant pFLDDesc.

Merci par avance. Cordialement.
Afficher la suite 

2 réponses

Répondre au sujet
papyvore 139 Messages postés samedi 15 novembre 2003Date d'inscription 12 décembre 2017 Dernière intervention - 10 août 2017 à 09:27
0
Utile
salut
peut être en regardant l'unité BDE
http://velocityps.com/Delphi6/Install/program%20files/Borland/Delphi6/Doc/BDE.int
dans la laquelle se trouve pFLDDesc.
Tu utilise paradox ??
Commenter la réponse de papyvore
0
Utile
Salut,

Merci pour ta réponse, je jette un coup d'oeil à ce que tu m'as envoyé.

Non je n'utilise pas paradoxe. Je suis actuellement sous DBase et je migre vers MSSQL.

Cordialement.
Commenter la réponse de vico8000

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.