AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Anfängerfrage- Werte von Array zu Array übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerfrage- Werte von Array zu Array übergeben

Ein Thema von sir_toby · begonnen am 19. Feb 2008 · letzter Beitrag vom 20. Feb 2008
Antwort Antwort
sir_toby

Registriert seit: 19. Feb 2008
3 Beiträge
 
Delphi 2007 Professional
 
#1

Anfängerfrage- Werte von Array zu Array übergeben

  Alt 19. Feb 2008, 21:48
hallo zusammen!

versuche schon seit stunden werte von einem array in ein anderes (beides globale variablen unterschiedlicher typen) zu übergeben. das ist mir dann auch irgendwann gelungen aber nicht so wie ichs gerne hätte...so siehts jetzt aus:

Code:

type tvoxel = record
            nr : longint;
            x,
            y,
            z : integer;
            end;
var
  Form1: TForm1;

implementation

var pixels : array of integer;
    points : array of tvoxel;
    no : integer=1;
    xmax,
    ymax : integer;
{$R *.dfm}


procedure getpixelsleft(bitmap:tBitmap);
var i,j : integer;
    row : ^tRGBTriple;
begin
  setlength(pixels,bitmap.Height);
  for j := 0 to bitmap.Height - 1 do begin
     row := bitmap.ScanLine[j];
    for i := 10 to bitmap.Width - 10 do begin
      if (row^.rgbtRed=0) then begin
        pixels[j]:=i;
      end;
    inc(row)
    end;
  end;
 bitmap.Assign(bitmap);
end;


procedure getpixelsright(bitmap:tBitmap);
var i,j : integer;
    row : ^tRGBTriple;
begin
  setlength(pixels,bitmap.Height);
  for j := bitmap.Height - 2 downto 2 do begin
     row := bitmap.ScanLine[j];
    for i := bitmap.Width downto 0 do begin
      if (row^.rgbtRed=0) then begin
       pixels[j]:=i;
      end;
    inc(row)
    end;
  end;
 bitmap.Assign(bitmap);
end;


procedure pixelstopoints;
var j : integer;

begin
{ setlength(points, 1000);
  for j := 0 to ymax-1 do begin
   points[j].x:=pixels[j];
   points[j].y:=j;
   points[j].z:=pixels[j];
  end;
 }
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  image1.Picture.LoadFromFile('c:\z\3.bmp');
  getpixelsleft(image1.Picture.Bitmap);
  pixelstopoints;
 // getpixelsright(image1.Picture.Bitmap);
end;

procedure TForm1.Button2Click(Sender: TObject);
var n: integer;
begin
  setlength(points, 1000);
  ListBox1.Items.Clear;
  for n := 1 to (image1.Picture.Bitmap.height) do begin

     points[n].x:=pixels[n];
     points[n].y:=n;
     points[n].z:=pixels[n];

     Listbox1.Items.Add(InttoStr(n)+' : '+Inttostr(points[n].x));
  end;
end;
es sollen also werte von "pixels" an "points" übergeben werden, aber in der procedure pixelstopoints und nicht wie ich das jetzt gelöst habe in dem click-ereignis.
wie ich's eigentlich gerne hätte steht jetzt wie ihr seht in {}. was hab ich falsch gemacht?

thx @all, toby
  Mit Zitat antworten Zitat
Benutzerbild von ich2
ich2

Registriert seit: 7. Dez 2005
Ort: Würzburg
54 Beiträge
 
#2

Re: Anfängerfrage- Werte von Array zu Array übergeben

  Alt 19. Feb 2008, 21:56
...servus...

gib doch mal deiner Laufvariablen ymax einen konkreten wert!
  Mit Zitat antworten Zitat
sir_toby

Registriert seit: 19. Feb 2008
3 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Anfängerfrage- Werte von Array zu Array übergeben

  Alt 19. Feb 2008, 22:06
hey,

danke für die schnelle antwort, xmax und ymax bekommen bei .FormCreate je den image1.picture.height bzw width zugewiesen, den teil hab ich abgeschnitten...
das problem ist, es läuft ja, nur wenn ich die werte in pixelstopoints übergebe klappts nicht, das array bleibt leer...

greets, toby
  Mit Zitat antworten Zitat
Benutzerbild von ich2
ich2

Registriert seit: 7. Dez 2005
Ort: Würzburg
54 Beiträge
 
#4

Re: Anfängerfrage- Werte von Array zu Array übergeben

  Alt 19. Feb 2008, 22:31
wenn du bei Form.Create deinen variablen xmax und ymax die größe des bitmaps übergibst, welches du aber erst später lädst, dann werden die Werte xmax und ymax auf Null gesetzt!!

also erst das bitmap laden, dann die werte xmax und ymax setzen!

mfg
  Mit Zitat antworten Zitat
sir_toby

Registriert seit: 19. Feb 2008
3 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Anfängerfrage- Werte von Array zu Array übergeben

  Alt 19. Feb 2008, 22:36
tatsächlich! es funktioniert!....geil...
DANKE!

schönen abend noch
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Anfängerfrage- Werte von Array zu Array übergeben

  Alt 20. Feb 2008, 08:18
Delphi-Quellcode:
var Array_01, Array_02: array of EinTyp;
LLength: integer;
begin
...
...
//ich geh davon aus, daß Array_01 mit Werten gefüllt ist
SetLength(Array_02, Length(Array_01));
...
move(Array_01[0], Array_02[0], Length(Array_01))
...
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:25 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