Bonjour

J ai récupéré une fonction d export, mais c est fait en Lazarus, et ca ne passe pas avec mon Delphi 7
qui pourrait m aider ??

c est B.WriteAnsiString et B.WriteDWord , qui ne passe pas

merci

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
procedure TFHistoire.btnExportClick(Sender: TObject);
var
  QueryRead: TibQuery;
  dossier: string;
  B: TFileStream;
  T: TMemoryStream;
begin
  //dossier := 1;
  QueryRead := TibQuery.Create(Application);
  QueryRead.Database := dm.ibd_BASE;
 
  QueryRead.SQL.Clear;
  QueryRead.SQL.Add('select hi_dicorigine'
    + ',hi_date_texte'
    + ',hi_cat'
    + ',hi_titre'
    + ',hi_texte'
    + ',hi_image'
    + ' from ref_histoire'
    + ' where hi_dossier=' + intTostr(dm.NumDossier) );
 
  //  if cxComboBox1.ItemIndex > 0 then
  //    QueryRead.SQL.Add('and hi_dicorigine=''' + ComboBoxDico.Text + '''');
 
  QueryRead.SQL.Add('order by hi_date_debut');
  QueryRead.Open;
 
  if QueryRead.RecordCount = 0 then
    begin
      ShowMessage('Rien à exporter');
      QueryRead.Close;
      QueryRead.Free;
      exit;
    end;
 
  B := TFileStream.Create(ChangeFileExt('dede.txt', '.dica'), fmCreate);
  T := TMemoryStream.Create;
 
  while not QueryRead.EOF do
    begin
 
      B.WriteAnsiString(QueryRead.FieldByName('hi_dicorigine').AsString);
      B.WriteAnsiString(QueryRead.FieldByName('hi_date_texte').AsString);
      B.WriteDWord(QueryRead.FieldByName('hi_cat').AsInteger);
      B.WriteAnsiString(QueryRead.FieldByName('hi_titre').AsString);
 
      T.Clear;
      TBlobField(QueryRead.FieldByName('hi_texte')).SaveToStream(T);
      B.WriteDWord(T.Position);
 
      if not QueryRead.FieldByName('hi_texte').IsNull then
        TBlobField(QueryRead.FieldByName('hi_texte')).SaveToStream(B);
 
      T.Clear;
      TBlobField(QueryRead.FieldByName('hi_image')).SaveToStream(T);
      B.WriteDWord(T.Position);
 
      if not QueryRead.FieldByName('hi_image').IsNull then
        TBlobField(QueryRead.FieldByName('hi_image')).SaveToStream(B);
 
      QueryRead.Next;
    end;
 
  B.Free;
  T.Free;
 
  QueryRead.Close;
  QueryRead.Free;
end;