Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Schleife um farbliche Darstellung im VST anzupassen

  Alt 19. Mai 2009, 22:05
Wo genau liegt der Unterschied im Case Block 0 bzw. 1... suche aber finde es gerade nicht. €: gefunden AND/OR

String werden imho in Delphi mit '' initialisiert, bei Ordinalen Werden verwende ich Const, weis aber nicht ob das gut ist:
Delphi-Quellcode:
// statt
var
  iRadioGroup : integer;
begin
  iRadioGroup := 1;

// schreibe ich gerne
const
  iRadioGroup : integer = 1;
Für den Case-Block folgende Idee
Delphi-Quellcode:
// Funktion sucht Substring und gibt True, wenn entweder einen oder beiden gefunden
function FindStrings(SubStr1, SubStr2, Str : String; FindBoth : Boolean) : Boolean
begin
  if FindBoth then
    Result := (Pos(SubStr1, Str) > 0) and (Pos(SubStr2, Str) > 0)
  else
    Result := (Pos(SubStr1, Str) > 0) or (Pos(SubStr2, Str) > 0);
end;

// kurz vor der For-Schleife
FindBoth := GetRadioGroupIdx(AnsichtForm, iRadioGroup) = 1;

// dann statt den beiden Case-Blöcken
if GetCheckBoxState(AnsichtForm, iCheckBox) then
begin
  if FindStrings(GetEditString(AnsichtForm, iEdit1),
                 GetEditString(AnsichtForm, iEdit2),
                 DatenMB.Ereignis, FindBoth) then
    Farbe := GetColorBoxInt(AnsichtForm, iColorBox);
[...]
Wobei der ganze Vorgang wirklich sehr extrem aussieht. Auch ziemlich anhängig von korrekten Control-Namen etc.
Das ganze würde ich irgendwann nochmal komplett überdenken
  Mit Zitat antworten Zitat