Autor Beitrag
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 01.12.11 11:02 
macht ja nichts, das Event schlägt trotzdem auf dem Form auf
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm2.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
    Caption := IntToStr(Wheeldelta div ABS(Wheeldelta));
    Handled := true;
end;

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 01.12.11 13:29 
user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
macht ja nichts, das Event schlägt trotzdem auf dem Form auf
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm2.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
    Caption := IntToStr(Wheeldelta div ABS(Wheeldelta));
    Handled := true;
end;


Hmm ich versteh aber nicht wo da jetzt aufs TImage zugegriffen wird?
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Do 01.12.11 13:37 
Im Event wird die Mausposition mit übergeben.
Wenn Du weißt welches TImage wo ist kannst Du selbst drauf zugreifen.

Beim vorherigen Doppelklick auf ein TImage merkst du es dir (z.B in einer Variablen "LastClickedStone").
Wenn nun die Mausposition innerhalbder Koordinaten des Steines sind -> gewünschte Aktion ausführen.

MFG
Tilo
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 01.12.11 13:59 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure THauptformLoopit.FormMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var x:byte;
begin
GewaehlterSteinCache := FSpielsteinName[x];    // GewahlterSteinCache bestimmt welcher Stein angezeigt wird 
x := x+1;
end;


FSpielsteinName gibt den Namen eins Spielsteins wieder.

Geht das so?

Bei mir kommt jetzt immer der Fehler:
[DCC Fehler] UHauptform.pas(455): E2035 Nicht genügend wirkliche Parameter
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 01.12.11 14:04 
ist wie stochern im Nebel, gegf. kannst Du das Projekt mal als Zip einstellen, oder zeigen was wie deklariert ist ...

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 01.12.11 14:21 
Das mit dem hochladen wird nichts :/ Hab ein so schlechtes Internet da würde das ne Stunde dauern.
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 01.12.11 14:29 
Da ich nicht weiß was Du wie machst, vielleicht kannst Du folgendes so umbauen wie Du es brauchst .....

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm2.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
   if Assigned(FSelectedImage) then
      begin
        FSelectedImage.Tag := FSelectedImage.Tag + ( Wheeldelta div ABS(Wheeldelta));
        if FSelectedImage.Tag < 0 then FSelectedImage.Tag := 0
        else FSelectedImage.Tag > C_MAX then FSelectedImage.Tag := C_MAX;
        UpdateSelectedImage;

      end;
end;

procedure TForm2.Image1Click(Sender: TObject);
begin
   FSelectedImage := TImage(Sender);
end;

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Do 01.12.11 14:45 
user profile icontetris84 hat folgendes geschrieben Zum zitierten Posting springen:
Das mit dem hochladen wird nichts :/ Hab ein so schlechtes Internet da würde das ne Stunde dauern.


:rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl:
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 01.12.11 15:33 
Traurig aber war :(
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Do 01.12.11 15:43 
Naja also i-wie kann ich das grade nicht ganz glauben denn bei mir kommt ein Delphiprojekt ohne i-welche Bilder etc. nicht über 1 MB daher frage ich mich wie groß dein Projekt ist das es eine Stunde dauert. Denn bei einer Standardgröße von 1MB wäre das eine Uploadgeschwindigkeit von ~291 byte in der Sekunde.
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 01.12.11 16:01 
Es ist aber 18MB groß. Außerdem möchte ich das nur ungerne Hochladen da ich es ja selber verstehen möchte was da im Quelltext steht. Und wenn das jetzt jemand anderes macht find ich das doof. Ich versuchs jetzt erstmal so weiter.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 01.12.11 19:10 
Es sieht mir mehr so aus als willst du einfach nicht deinen Code offenlegen. Das kannst du ruhig sagen, das ist nicht unnormal ;)

Im wesentlichen würd ichs so machen, wie bummi schon gesagt hat. Du speicherst die ID des angewählten Steins und beim OnMouseWheel schaltest du durch die verfügbaren Steine durch und lädst das entsprechende Bildchen.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 02.12.11 11:24 
So generell hab ichs jetzt fertig.
ausblenden Delphi-Quelltext
1:
2:
3:
Stein1: TImage;
Bild : TBitmap;
path : string;


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure THauptformLoopit.FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var i:byte; SteinName,SpielsteinPfad:string;
begin
SteinName := FSpielsteinNamenRueckgabe(i);
i := i+1;

Bild := TBitmap.Create;
SteinCache := SteinName;
SpielsteinPfad := 'Spielsteine\'+ SteinCache;
path:= ExtractFilePath(Application.ExeName) + SpielsteinPfad;
Bild.LoadFromFile(path);
Stein1.Canvas.StretchDraw(Stein1.Canvas.ClipRect, Bild);
end;

Das Problem ist wenn ich jetzt zur Laufzeit Scrolle (nach unten) scrollt er nur in dem SgField. Wie verhinderre ich das und ermögliche das hallt Stein1 sich verändert?

Lg tetris84
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Fr 02.12.11 11:35 
so ...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm2.StringGrid1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
     Handled := true;
end;

procedure TForm2.StringGrid1MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
     Handled := true;
end;

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Fr 02.12.11 11:44 
Er scrollt immer noch in den Zellen von SGField umher :/ Gibt es in dem Feld eine Option die ich dafür auf False setzten muss?

Edit. Ich hab 60 verschiedene Steine. Wie realisiere ich es das jeder nur einmal gesetzt wird?

Lg tetris84
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Mo 05.12.11 13:59 
Moin,

hab das mit den Spielsteinen jetzt geschafft. Bei dem Scrollen funktioniert es immer noch nicht :/

Edit: Das mit dem Scrollen funktioniert jetzt. Ich musste erstmal mittels .SetFocus Irgentwo anders den Fokus hinlegen.
tetris84 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 08.12.11 14:16 
Hey,

ich wollte nochmal fragen wie man ein Array in eine Ini Datei Speicher. Bei String,Integer und Boolean gibt es ja die Funktion ini.WriteString, ini.WriteInteger und ini.WriteBool. Wie soll ich also mein Array speichern?
Bis jetzt kann ich mir nur denken das man es so macht:
ausblenden Delphi-Quelltext
1:
2:
3:
   Repeat  
ini.WriteString('Steine',Zwischenspeicher, Array[x,y]);
   Until (x = 1and (y = 11);

In Zwischenspeicher stehen dann auch nochmal die Koordinaten.
Geht es auch einfacher?

Lg tetris84
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 08.12.11 19:41 
Bitte bei der nächsten Frage ein neues Topic aufmachen, damit andere User die Lösung auch per Suche finden können :)

ausblenden Delphi-Quelltext
1:
ini.WriteString('Steine',inttostr(x)+'-'+inttostr(y), Array[x,y]);					


So würd ich das machen.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)

Für diesen Beitrag haben gedankt: tetris84