Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 16.08.09 09:15 
Hi, Delpher,
warum meckert der Compiler bei diesem Code?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure Tform2.fuelle_listbox1f2Kla(sender:tobject);
var kb : string;
begin
  listbox1.Visible := false; listbox1.Clear;
  kb := 'x';
  dbgrid1.DataSource.DataSet.First;
  while not dbgrid1.DataSource.DataSet.Eof do
  begin
    if dbgrid1.DataSource.DataSet.fieldbyname['Klasse'].asstring[1] <> kb then //Mecker!
    begin
      listbox1.Items.Add(dbgrid1.DataSource.DataSet.fieldbyname['Klasse'].asstring[1]);
      kb := dbgrid1.DataSource.DataSet.fieldbyname['Klasse'].asstring[1];
    end;
    dbgrid1.DataSource.DataSet.next;
  end;
  //SetLbWidth(Listbox1); SetScrollWidth(listbox1);
  //listbox1.Height := listbox1.ItemHeight * anzkla + 20;
  listbox1.Visible := true;
end;


Die Fehlermeldung ist: Nicht genügend wirkliche Parameter, bzw. : 'Then' erwartet, aber Bezeichner 'asstring' gefunden.
Danke für Hilfe,
Detlef

P.S. Die eckige Klammer ist mir erst jetzt aufgefallen, scusi, Det

_________________
ut vires desint, tamen est laudanda voluntas
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: So 16.08.09 11:47 
ich verstehs auch nicht, aber du könntest es mal so ausprobieren, und schaun wo dann der fehler auftaucht:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var s: String;
    c: character;
//...
    s := dbgrid1.DataSource.DataSet.fieldbyname['Klasse'].asstring;
    c := s[1]
    if c <> kb then //Mecker!
//...

mal schaun was er dann sagt...
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: So 16.08.09 15:59 
user profile iconD. Annies hat folgendes geschrieben Zum zitierten Posting springen:
P.S. Die eckige Klammer ist mir erst jetzt aufgefallen, scusi, Det

ausblenden Delphi-Quelltext
 
9:
{ ... }
if dbgrid1.DataSource.DataSet.fieldbyname('Klasse').asstring[1] <> kb then

Damit solltest Du das Problem doch bereits selbst gelöst haben. :)

edit: Ah! Nun wird der Thread bei mir auch als abgehakt angezeigt. ;)
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Mo 17.08.09 09:52 
ach ja, ich wusste dass es bei DataSets auch irgendwas mit einem String als Indexer gab, aber das ist nicht Table1.FieldByName('Feldname'), sondern Table1.FieldValues['Feldname']