Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Schleife für Variablen (https://www.delphipraxis.net/166591-schleife-fuer-variablen.html)

beanbear6 21. Feb 2012 06:49

Schleife für Variablen
 
Hallo Leute,
bitte Euch um Hilfe bei meinem (für Euch wohl einfachem Problem):

var i,s,s1,s2,s3:Integer;
begin
for i:=0 to 3 do
s[i]:=dmxout[i];
end;

bringt mir Inkompatibel Char und Integer

Oder was mach ich falsch?
Gruß beanbear

Sir Rufo 21. Feb 2012 06:56

AW: Schleife für Variablen
 
Delphi-Tags sind auch nett, dann sieht das so aus
Delphi-Quellcode:
var
  i, s, s1, s2, s3 : Integer;
begin
  for i := 0 to 3 do
    s[i] := dmxout[i];
end;
Der Compiler geht hierbei aber davon aus, dass
Delphi-Quellcode:
s[i]
ein String sein muss, denn bei einem Integer macht solch ein Zugriff keinen Sinn.

Evtl. hilft es, wenn du s als Integer-Array deklarierst?
Delphi-Quellcode:
var
  s : array[0..10] of integer;
EDIT:

Wenn ich eine Variable mit einem s-Irgendwas sehe, muss ich auch immer an einen String denken ;)

Furtbichler 21. Feb 2012 07:02

AW: Schleife für Variablen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1152049)
Der Compiler geht hierbei aber davon aus, dass
Delphi-Quellcode:
s[i]
ein String sein muss...

Nein.
Delphi-Quellcode:
s[i]
ist ein
Delphi-Quellcode:
char
. Der
Delphi-Quellcode:
String
ist das
Delphi-Quellcode:
s
. :mrgreen:

Coffeecoder 21. Feb 2012 07:04

AW: Schleife für Variablen
 
Hi beanbear6,
Was willst du dann genauer machen?

beanbear6 21. Feb 2012 07:08

AW: Schleife für Variablen
 
Hallo zusammen,
Danke Euch... Ich werd mich mal nur mit diesem
Problem beschäftigen, da krachts immer wieder mal
weil ich das immer noch nicht richtig verstanden hab.
Vielen Dank - es funktioniert :-D

beanbear6 21. Feb 2012 07:11

AW: Schleife für Variablen
 
An CoffeeCoder,
ja, das ist nicht so einfach zu erklären ich versuchs mal:

Ich hab 15 Trackbars mit denen ich DMX (lichtsignale) an LED Scheinwerfer übergebe.
Nach dem Befehl OnMouseUp muss ich mir die Einstellungen der 15 Regler merken.

Und das möchte ich mit meiner (jetzigen) Lösung umsetzen.
Kann man meine Erklärung verstehen?
Gruß beanbear

haentschman 21. Feb 2012 07:11

AW: Schleife für Variablen
 
Noch ein Tipp... benenne deine Variablen doch ein wenig genauer. Das verhindert manchmal Mißverständnisse :zwinker:

mkinzler 21. Feb 2012 07:13

AW: Schleife für Variablen
 
Wie ist dmxout[] deklariert?

beanbear6 21. Feb 2012 07:14

AW: Schleife für Variablen
 
Hi,
ok mach ich künftig :)

DeddyH 21. Feb 2012 07:14

AW: Schleife für Variablen
 
Geht es um einfache "Ein-/Aus"-Zustände?

beanbear6 21. Feb 2012 07:15

AW: Schleife für Variablen
 
Zitat:

Zitat von mkinzler (Beitrag 1152055)
Wie ist dmxout[] deklariert?

In der FormCreate: dmxout : array of byte;

Sir Rufo 21. Feb 2012 07:18

AW: Schleife für Variablen
 
Zitat:

Zitat von beanbear6 (Beitrag 1152058)
Zitat:

Zitat von mkinzler (Beitrag 1152055)
Wie ist dmxout[] deklariert?

In der FormCreate: dmxout : array of byte;

Wie kommt man denn dann auf die Idee s als Integer zu deklarieren und nicht als
Delphi-Quellcode:
array of Byte
:gruebel:

DeddyH 21. Feb 2012 07:18

AW: Schleife für Variablen
 
Nochmal: es gibt nur 2 Zustände (ein oder aus), oder?

Coffeecoder 21. Feb 2012 07:19

AW: Schleife für Variablen
 
Zitat:

Zitat von beanbear6 (Beitrag 1152053)
An CoffeeCoder,
ja, das ist nicht so einfach zu erklären ich versuchs mal:

Ich hab 15 Trackbars mit denen ich DMX (lichtsignale) an LED Scheinwerfer übergebe.
Nach dem Befehl OnMouseUp muss ich mir die Einstellungen der 15 Regler merken.

Und das möchte ich mit meiner (jetzigen) Lösung umsetzen.
Kann man meine Erklärung verstehen?
Gruß beanbear

Mein spontaner Einfall, wie auch bereits erwähnt ein Array anlegen.
Delphi-Quellcode:
var dmxPosition : array[1..15] of integer;
..
Und dann in der OnMouseUP:
Delphi-Quellcode:
var i : integer;
...
  for i:= 1 to 15 do dmxPosition[i] := TTrackbar(Form1.FindComponent('Trackbar'+IntToStr(i))).position;
...
Bitte verbessern bei
Delphi-Quellcode:
.position
wenn ich falsch liege.

DeddyH 21. Feb 2012 07:23

AW: Schleife für Variablen
 
Ich hätte ja an sowas gedacht, aber da ich hier ignoriert werde, poste ich das jetzt nicht :stupid:

beanbear6 21. Feb 2012 07:24

AW: Schleife für Variablen
 
Zitat:

Zitat von DeddyH (Beitrag 1152060)
Nochmal: es gibt nur 2 Zustände (ein oder aus), oder?

Hi Deddy,
nein, DMX-Signal kann bis 255 sein 0 ist LED dunkel, 255 ist LED hell..
is bissl kompliziös...

Also mit 3 Reglern regle ich Rot Grün und Blau der LED Scheinwerfer.
Und wenn ich die Trackbar loslasse muss ich mir die eingestellten werte merken...

Ich muss zugeben, dass ich mit array immer schon probleme hab ich kapier
das einfach nicht. Aber ich stöbere immer wieder mal und les mich da ein.
Gruß beanbear

beanbear6 21. Feb 2012 07:27

AW: Schleife für Variablen
 
Hi an alle,
also nochmals Danke für Eure Hilfe... Es klappt wunderbar.
Werd mir mal paar Stunden für diese arrays lesetechnisch geben.
Gruß beanbear6:-D

DeddyH 21. Feb 2012 07:27

AW: Schleife für Variablen
 
Böte sich da nicht ein Array of TRGBTriple an?

beanbear6 21. Feb 2012 07:33

AW: Schleife für Variablen
 
Zitat:

Zitat von DeddyH (Beitrag 1152065)
Böte sich da nicht ein Array of TRGBTriple an?

Hi,
nein, weil ich damit ich das im Grundsatz verstehen kann nur für 3 Kanäle
gepostet hab. Ich arbeite da ja nicht nur mit 3 Kanälen bei LED Scheinwerfer,
sondern oft bis zu 16 Kanäle bei z.B. Scanner und MoovingHeads.

Aber wenns mit array[1..3] geht dann gehts auch mit array[1..12] :-D

Gruß Reiner


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 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