AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Variablenwert Bestandteil einer Menge ? wie Zeitkritisch ???
Thema durchsuchen
Ansicht
Themen-Optionen

Variablenwert Bestandteil einer Menge ? wie Zeitkritisch ???

Ein Thema von richard_boderich · begonnen am 23. Jul 2004 · letzter Beitrag vom 23. Jul 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 13:38
Hai Richard,

so ist es ja auch ein dynamisches Array dessen größe erst definiert werden muss.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#12

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 13:38
Zitat von richard_boderich:
@chewie,

deine loesung funzt nich [..]
Delphi-Quellcode:
var
charset: array of set of byte;
Dynamische Arrays sind in der Handhabung etwas umständlicher, weil sie vor einem Zugriff zunächst initialisert (OH: SetLength) werden müssen.

Wenn ich Deine Anmerkung richtig deute, arbeitest Du mit vollstäding festen Werten, richard_boderich. Nutze in diesem Fall am besten konstante Arrays der Form
Delphi-Quellcode:
type
  TCharSet = set of Char;
const
  Letters = ['A'..'Z'];
  Digits = ['0'..'9'];
  arSets: array[0..2] of TCharSet =
    (Letters, Digits, [#0..#255]-Letters-Digits);
begin
  Result := AChar in arSets[AChoice];
noch eleganter bekommst Du das dann hin, indem Du einen Typen
Delphi-Quellcode:
type
  TChoice = (cLetters, cDigits, cMisc);
definierst und das array wie folgt deklarierst
Delphi-Quellcode:
const
  arSets: array[TChoice] of TCharSet
gruß, choose
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 13:43
Zitat von Sharky:
Hai Richard,

so ist es ja auch ein dynamisches Array dessen größe erst definiert werden muss.
Nachtrag:

Delphi-Quellcode:
type
  tset = set of byte;

var
  charset: array[0..2] of tset; // Statiches Array
  dyncharset : array of tset; // Dynamisches Array

procedure TForm1.Button1Click(Sender: TObject); // Hier wird das stat. Array gesetzt.
begin
  charset[0] := [46..255];
  charset[1] := [46..200];
  charset[2] := [21..255];
end;

procedure TForm1.Button2Click(Sender: TObject); // und hier das Dyn. Array
begin
  SetLength(dyncharset,SizeOf(tset)*3);
  dyncharset[0] := [46..255];
  dyncharset[1] := [46..200];
  dyncharset[2] := [21..255];
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#14

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:09
jungens, hilfe, nicht alles auf einmal, das ist zuviel fuer mich

also ich komme ueberhaupt nich mehr mit, deswegen erklare ich jetz nochmal was ich machen, will.
ich glaube ihr versteht mich falsch, das ganze ist eigentlich sehr einfach

also, ich hab ein array of byte, dort stehen dezimale bytewerte drin,
diese stelle ich in der procedure ausgabe in einem stringrid dar mit ner for next und stringgrid.cells [x,y]:=char("arraywert");

if x in charset[i] then stringgrid.cells [x,y]:=char("arraywert"); da ich aber verschiedene formate bei der darstellung will, z.b Bigendien, ascii 7-bit oder macintosh
muss ich verschieden charsets haben, diese brauchen nur einmal definiert werden und sollen nicht geaendert werden

z.b in formcreate:
Delphi-Quellcode:
var
charset1,charset2,charset3: set of byte;

...

begin
charset1:=[46..255]; //sets initialisieren
charset2:=[21..200];
charset3:=[0..12];
jetz hab ich ein menu mit verschiedenen menupunkten

die routinen sehen so aus

Delphi-Quellcode:
tform1.menupunkt1.click
begin
   
   i:=0; // charset 0 setzen
   ausgabe // stringgrid mit geaenderten zeichsatz fuellen

end;

tform1.menupunkt2.click
begin
   
   i:=1; // charset 1 setzen
   ausgabe // stringgrid mit geaenderten zeichsatz fuellen

end;
will also nur das ensprechen charsetz auswaehlen, und rufe dann die procedure ausgabe nochmal auf um den gridinhalt zu aktualisieren
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:29
Hai richard,

wir haben dich schon verstanden

Du möchtest es also so haben:
Delphi-Quellcode:
implementation

{$R *.dfm}

type
  tset = set of byte;

var
  i : Integer;
  x : Byte;
  charset: array[1..3] of tset; // Statiches Array

procedure TForm1.FormCreate(Sender: TObject);
begin
  i := 1; // CharSet 1 ist Standard
  charset[1] := [46..255]; // Initialisierung der
  charset[2] := [46..200]; // CharSets
  charset[3] := [21..255];
end;

procedure Anzeige;
begin
 // Zum füllen deiner StringGrids
  if x in charset[i] then
  begin
  end;
end;

procedure TForm1.CharSet12Click(Sender: TObject); // CharSet 1
begin
  i := 1;
  Anzeige;
end;

procedure TForm1.CharSet21Click(Sender: TObject); // CharSet 2
begin
  i := 2;
  Anzeige;
end;

procedure TForm1.CharSet31Click(Sender: TObject); // CharSet 3
begin
  i := 3;
  Anzeige;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#16

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:33
@sharky,

ja genauso will ich es haben, und geauso hab ichs doch gemacht, und cheewie auch,
das einzige neue was ich entdecken kann , ist die typeanweisung ganz oben
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:38
Zitat von richard_boderich:
.. und geauso hab ichs doch gemacht, ...
Ach so, ich dachte dir wäre noch etwas unklar :stupid;
Zitat:
das einzige neue was ich entdecken kann , ist die typeanweisung ganz oben
Die habe ich nur aus gewohnheit benutzt. Du kannst es auch so schreiben:
Delphi-Quellcode:
var
  charset1 : Array [1..2] of Set of Byte
macht ersteinmal noch keinen Unterschied.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#18

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:45
@ sharky,

hab es jetz geloest,borge mir mal deine code

Delphi-Quellcode:

implementation

{$R *.dfm} 


var
  i : Integer;
  x : Byte;
  charset: array[1..3] of set of byte; // Statiches Array

procedure TForm1.FormCreate(Sender: TObject);
begin
  i := 1; // CharSet 1 ist Standard
  charset[1] := [46..255]; // Initialisierung der
  charset[2] := [46..200]; // CharSets
  charset[3] := [21..255];
end;

procedure Anzeige;
begin
// Zum füllen deiner StringGrids
  if x in charset[i] then
  begin
  end;
end;

procedure TForm1.CharSet12Click(Sender: TObject); // CharSet 1
begin
  i := 1;
  Anzeige;
end;

procedure TForm1.CharSet21Click(Sender: TObject); // CharSet 2
begin
  i := 2;
  Anzeige;
end;

procedure TForm1.CharSet31Click(Sender: TObject); // CharSet 3
begin
  i := 3;
  Anzeige;
end;
wenn ich es richtig sehe , war mein einziger fehler, das ich bei der charset arraydefinition, keinen festgelegten bereich angegeben hab,
dadurch nahm delphi an, es sei ein dyn. array, und da ich das nicht wollte, und damit natuerlich nicht mit setlenght definiert habe, die
exeption, ist das so richtig ???
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:46
Hai Richard,

jetzt verwirre ich dich total
Schaue mal was ich jetzt gemacht habe:
Delphi-Quellcode:
type
  tCharset = set of byte;

procedure Anzeige (aktcharset : tCharset); // Das SET of BYTE wird als Parameter übergeben.
var
  x : Byte;
begin
  // Zum füllen deiner StringGrids
  if x in aktcharset then
  begin
  end;
end;

procedure TForm1.CharSet12Click(Sender: TObject); // CharSet 1
begin
  Anzeige([46..255]);
end;

procedure TForm1.CharSet21Click(Sender: TObject); // CharSet 2
begin
  Anzeige([46..200]);
end;

procedure TForm1.CharSet31Click(Sender: TObject); // CharSet 3
begin
  Anzeige([21..255]);
end;
Nicht falsch verstehen. Ich möchte Dir nur zeigen wie Du ganz schnell deinen Code für diesen Fall vereinfachen kannst.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#20

Re: Variablenwert Bestandteil einer Menge ? wie Zeitkritisch

  Alt 23. Jul 2004, 14:54
@sharky

uuuuuhhh,ooooohh, ahh wie jetz,

Neinnnnn, ich bin ein star, holt mich hier raus

jo danke, aber einfach is immer relativ, habe bissher wenig mit typen und records gearbeitet, wer mich da mal einarbeiten.
war denn meine fehleranalyse richtig, s. vorheriges post ?

aber deine version sieht echt schon sehr elegant aus

thanks for your help

Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz