Autor Beitrag
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 18.01.07 16:49 
aso das heißt FWS!!! ich hab mir immer gedacht "warum schreiben die solche hieroglyphen da hin"!!^^

danke!!!

lg el

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 18.01.07 17:03 
ROFLBTC
Dadrunter steht doch dann beispielsweise
Zitat:
Fully functional
Source: Included

Es gibt jedenfalls auch noch SW - Shareware und FW - Freeware :zwinker:
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 18.01.07 19:07 
Sieht ziemlich nach Abkupferungs-Aktion aus. Ohne irgendwelches Hindergrundwissen soll wohl irgendwas vorhandenes aus unbekannter Quelle umgefriemelt werden. 8) Und das ganze komplett ohne Verständnis von OOP. Insofern wird wohl irgendwann demnächst mit TComponent angefangen, um das Rad wenigstens komplett neu zu erfinden und nicht nur halb. :mrgreen:

_________________
Gruß
Hansa
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 19.01.07 13:48 
Der Fehler mit den Formalen Parametern in den Zeilen um 180ff basiert auf einem Typfehler ... StrPas will als Eingabe einen PChar haben ...

Man deklariere also:
ausblenden Delphi-Quelltext
1:
var Temp: PChar;					


Initialisiere also:
ausblenden Delphi-Quelltext
1:
Temp := GetMem(256);					


Übergebe also:
Temp^ an GetUsername und GetComputername

und finalisiere anschließend also:
ausblenden Delphi-Quelltext
1:
FreeMem(Temp);					

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Sa 20.01.07 15:27 
ROFLBTC???? was das??

zur abkupferungsaktion: is es nicht da ich mir den source erklären lasse. und zwar von euch. :D

ich hab da jetzt was gebastelt:
Delphi hat mir immer gesagt das er Button, shift, x und y nicht kennt. deshalb hab ich sie als variable deklariert. nur:

Das OnMouseDown event wird erst beim loslassen angezeigt und das OnMouseUp event gar nicht. X und Y bleiben grundsätzlich gleich und sind zahlen die sich um die 100000 stelle drehen. was hab ich da falsch gemacht und wie muss ichs ändern??

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
unit ExScrollBar;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Messages;

type
  TSmallPoint = packed record
    x: SmallInt;
    y: SmallInt;
  end;

type
  TWMLButtonDown = packed record
    Msg: Cardinal;
    Keys: Longint;
    case Integer of
      0: (
        XPos: Smallint;
        YPos: Smallint);
      1: (
        Pos: TSmallPoint;
        Result: Longint);
  end;

type
  TWMLButtonUp = packed record
    Msg: Cardinal;
    Keys: Longint;
    case Integer of
      0: (
        XPos: Smallint;
        YPos: Smallint);
      1: (
        Pos: TSmallPoint;
        Result: Longint);
  end;

type  
  TMouseEvent = procedure(Sender: TObject; Button: TMouseButton;  
    Shift: TShiftState; X, Y: Integer) of object;

type
  TExScrollBar = class(TScrollBar)
  private
    Button: TMouseButton;
    Shift: TShiftState;
    X,Y: integer;
    FOnMouseDown: TMouseEvent;
    FOnMouseUp: TMouseEvent;
    procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
    procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
    property OnMouseUp: TMouseEvent read FOnMouseUp write FOnMouseUp;
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('ExComponents', [TExScrollBar]);
end;

procedure TExScrollbar.WMLButtonDown(var Message: TWMLButtonDown);
begin
  inherited;
  if Assigned(FOnMouseDown) then
    FOnMouseDown(Self, Button, Shift, X, Y);
end;

procedure TExScrollbar.WMLButtonUp(var Message: TWMLButtonUp);
begin
  inherited;
  if Assigned(FOnMouseUp) then
    FOnMouseUp(Self, Button, Shift, X, Y);
end;

end.


lg el

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Sa 20.01.07 18:03 
Das ist vollkommen klar. Denn woher soll denn die Infomation kommen die in den lokalen Variablen drinne steht? Die kommt aus dem nichts!
Die an WMLButtonDown und WMLButtonUp übergebe Message enthält die benötigten Parameter die du bei aufruf mit übergeben musst. Den ShiftStatus bekommst du von der Tastatur.
Die lokalen Variablen können dementsprechend weg.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TExScrollbar.WMLButtonDown(var Message: TWMLButtonDown);
begin
  inherited;
  if Assigned(FOnMouseDown) then
    with Message do
      FOnMouseDown(Self, TMouseButton(Keys), [], Pos.x, Pos.Y);
end;


Das ist aber noch nicht ausreichend. Den ShiftState habe ich erstmal komplett weg gelassen. Eigentlich braucht du den für deine Aufgabe auch nicht. Du kannst also deinen Ereignishandler "entlasten".

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 20.01.07 18:24 
:oops: Hab ich aus einer weitergeleiteten Handler-Methode einfach kopiert, und habe übersehen, dass das so gar nicht deklariert ist...
So isses ganz richtig (hoffe ich):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
type 
  TWMButtonEvent = packed record 
    Msg: Cardinal; 
    Keys: Longint; 
    case Integer of 
      0: ( 
        XPos: Smallint; 
        YPos: Smallint); 
      1: ( 
        Pos: TSmallPoint; 
        Result: Longint); 
  end;


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TExScrollbar.WMLButtonDown(var Message: TWMButtonEvent);
begin
  inherited;
  if Assigned(FOnMouseDown) then
    with Message do
      FOnMouseDown(Self, mbLeft, KeysToShiftState(Keys), XPos, YPos);
end;

procedure TExScrollbar.WMLButtonUp(var Message: TWMButtonEvent);
begin
  inherited;
  if Assigned(FOnMouseUp) then
    with Message do
      FOnMouseUp(Self, mbLeft, KeysToShiftState(Keys), XPos, YPos);
end;


// EDIT: Ach so: KeysToShiftState ist aus der Unit Forms ;-)
elundril Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: So 21.01.07 14:24 
Ok vielen danke!!!!

lg el

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.