AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Übersetzung Class MagneticWindow

Ein Thema von EWeiss · begonnen am 9. Okt 2006 · letzter Beitrag vom 18. Dez 2006
Antwort Antwort
Seite 9 von 12   « Erste     789 1011     Letzte »    
Muetze1
(Gast)

n/a Beiträge
 
#81

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 03:01
Zitat von EWeiss:
Könnt selbst ihr noch etwas von lernen.
So hätte ich mir die Hilfe hier gern gewünscht.
Ich kann kein VB und werde mich nie mit beschäftigen. Und um hier Delphi spezifische Hilfe anzubieten, werde ich keine VB Spezialitäten lernen. Und wenn du dir die Hilfe hier so wünscht, dann bringe sie bei denjenigen an, die in Zukunft eine solche VB/Delphi Frage haben. Dafür kann ich dann hier mit Delphi, Assembler (auf mehreren Systemen), Matlab/Simulink und anderen Dingen helfen.

Zitat von xaromz:
Aber was ObjPtr soll, hab ich in meiner abendlichen Bierseligkeit nicht begriffen.
Das sind die normalen Instanzen in Delphi. In Delphi sind die normalen Instanzenvariablen Zeiger, somit könnte man auch Objektpointer dazu sagen.

Zitat von EWeiss:
Das Object ist die Instanz deiner Klasse, Quasi 'Self'
Obj ist deine Klasse 'Self' + ptr wäre quasi '@' ergebnis müßte dieses sein '@Self'
Falsch. Wie eben geschrieben sind Instanzenvariablen und sonstige Instanzenablagen Zeiger, somit ist Self schon ein Zeiger auf die eigentliche Instanz im Speicher. Somit wäre es nicht @Self sondern Self.

Zitat von EWeiss:
die Private Variable mValue im Delphi Beispiel ist 4 Bytes über dem Objekt
die Private Variable mValue im VBasic Beispiel ist 52Bytes über dem Objekt
damit wird klar, daß die Objekte in VB und Delphi unterschiedlich aufgebaut
sind.
Das ist grundsätzlich so, da es zwar gewissen OOP Aufbau Standards gibt von den Internas her, aber trotzdem jeder Hersteller die OOP Funktionalität in den Objekten bzw. besser gesagt im Maschinencode anders implementiert. Und das genau darum dieser Hack zwar rein befehlstechnisch portierbar ist, aber trotzdem unnütz und nicht machbar in Delphi, habe ich die zig Posts zuvor schon oft genug zum Ausdruck gebracht.

Zitat von EWeiss:
Der VisualBasic-Hack ist also nur für VB zu gebrauchen.
Das sagt der Satz schon aus, ohne seinen Inhalt verstehen zu müssen. Das wäre genauso als wenn ich sagen würde: "Ein Apfelstiel gehört zu einem Apfel." ...

Zitat von EWeiss:
Ich muss diesen nur weglassen lenke um auf eine Standard
WinProc und schon läuft die Classe.
Klasse. Erinnert mich an meine alten Posts in diesem Thread...

Ok, genug den Blutdruck beruhigt...

Gute Nacht!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#82

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 04:26
@Muetze1

Hat dich jemand aufgefordert dein Kommentar abzugeben?
Ich habe dich jetzt nicht drum gebeten.

Also immer locker bleiben
Wenn du probs mit deinen Blutdruck hast ist das nicht das richtige Umfeld für dicht.
Das ist nicht böse gemeint, ich denk halt an deine Gesundheit.

Zitat:
Ich kann kein VB und werde mich nie mit beschäftigen.
Kann ich mir denken dazu gehört schon etwas mehr als in eine fertige Windows.pas zu schaun
Da muss man noch arbeiten.

Zitat:
"Ein Apfelstiel gehört zu einem Apfel." ...
Was für ein Zitat im wahrsten sinne.
Als Hochtitulierter, Studierter ? bestimmt! Hätte ich dir etwas mehr zugetraut.

Zitat:
Klasse. Erinnert mich an meine alten Posts in diesem Thread...
habe ich die zig Posts zuvor schon oft genug zum Ausdruck gebracht.
Kann nichts von finden.. hast doch nur drumrum geredet. Halt Studierten-Latein

Na gut habe jetzt wie du siehst jemand anderen gefunden mit einer weniger aufreibenden Ausdrucksweise.

Benötige deine Hilfe für die zukunft auch nicht mehr wenn überhaupt was rüberkam, was halbwegs Hilfreich gewesen wäre.
Ja,ja ich war zu dumm dazu dich zu verstehen.

Aber egal ! So kannst deinen ach so argen Blutdruck schonen.
Für mich ist das Thema abgehakt .. könnt euch jetzt über diese Post noch etwas auslassen.

ABER ! Denkt an euren Blutdruck

Guen Morgen.

EDIT: @Webmaster.. Sorry aber das mußte mal raus bin nicht auf streit aus .. aber solche Leute nerven !!!!
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#83

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 09:23
@EWeiss: Stänker hier nicht so rum! Deine Ausführungen lassen darauf schließen, das Du deinem Alter nicht würdig bist. Setzen, sechs!
Immerhin pöbelst Du hier rum, beschwerst Dich wegen der ach so unqualifizierten Hilfe und meinst Dann auch, noch, das "selbst" wir "noch was lernen" können. Ich empfinde das als unverschämt. Weiterhin beschwerst Du dich, das Muetze1 einen (fundierten) Kommentar abgibt. Hmmm...
Und dann, NACH den Pöbeleien, sich auch noch scheinheilig beim webmaster zu entschuldigen, ist schon mehr als peinlich: Entweder Dampf ablassen, oder nicht. Aber erst pöbeln und dann entschuldigen, nee, also...

Dessenungeachtet: So eine MagneticWindow-Klasse ist doch einfach zu implementieren. Wieso machst Du das nicht selbst? Ich habe eine, und wollte Sie Dir zur Verfügung stellen, aber so lasse ich das wohl (Werde es aber bei Gelegenheit an anderer Stelle nachholen). Kleiner Tipp: SharedMemory, ein Masterfenster und im SharedMemory melden sich alle Kindfenster an (mit ihrem Handle sowie den aktuellen Abmessungen). Bewegt sich das Masterfenster, kann es dann einfach alle Kindfenster mitbewegen. "Magnetisch" sind sie auch, denn da sie wissen, wo die anderen Fenster sind, kleben sie ab einem Abstand von <3pxl einfach am Nachbarn. Dann auf die Fenster noch eine Skinengine und fertig.

Krieg dich mal wieder ein und auf VB

Von renomierten Programmierern stammt übrigens die Aussage, das mit VB programmierte Anwendungen per se nicht laufen. Ob das so ist, weiss ich nicht, aber ich weiss, das VB vor allen Dingen in IT-Abteilungen eingesetzt werden, die von Amateuren durchsetzt sind. Insofern hat es auch etwas mit Etikette zu tun, ein VB-Mist *nicht* in Delphi zu übersetzen. Vor allen Dingen diese 'Hacks'. Sowas bescheuertes: Eine Routine, die soetwas implementiert, kommt in den Mülleimer: Wer richtig programmieren kann, braucht so etwas nicht.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#84

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 11:03
Hallo,

@Muetze: Danke für die Erklärung. Ich hatte den oben verlinkten Code nur überflogen, weil mir gleich schlecht wurde. Bin ich froh, dass der Kelch VB an mir vorüberging .

@EWeiss: Ich kann mich alzaimar nur anschließen.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#85

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 11:30
Moin, moin zusammen,
etwas tiefer die Bälle bitte, es regnet schon fast..

Hier kommen zwei Programmierichtungen auffeinander wo offentischtlich das gegenseitige Einarbeitungskapital etwas niedrig ausgefallen ist. Da ist ein VB-Programmierer der etwas auf Delphi versucht umsznusetzen. Prima, er hätte ja auch C# nehmen können. Das man mit VB auch Assembler nutzen muß fasziniert mich sogar etwas!

Etwas mehr Toleranz gegenüber dem Delphi-Slang muß da allerdings investiert werden, den die Progracmmierkonzepte unterscheiden sich doch reichlich. Jeder der sich mal mit Office-Automation beschäftigt hat, kommt um VB nicht herum, das sind auch etliche Delphi Entwickler! Das dürfte wohl auch auf der DelphIseite abgehakt sein.

-------------------------------------------------------------------------------------------------------------------------
Das Delphi Vorteile bietet ist offensichtlich also Konsens! Damit kann man arbeiten.
-------------------------------------------------------------------------------------------------------------------------

Zurück in die Zukunft, zum Thema:
-------------------------------------------------------------------------------------------------------------------------
Was macht der Assemblercode? Welche Aufgabe hat das? Welchen Variablenwert ändert das Ding?
-------------------------------------------------------------------------------------------------------------------------
Ohne eine allgemeine Beschreibung ist das nicht in das Objektmodell von Delphi umzusetzen. Welcher Befehl fehlt dem VB, dass man hier auf Assembler umsteigen muß?


Viele Grüße in die Runde // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#86

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 18:14
Wieso dafür eigentlich eine eigene Klasse? Um die Funktionlität generell zu ermöglichen, sollte doch so was ausreichen:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure OnMove(var Msg: TWMMove); message WM_MOVE;
    procedure OnMoving(var Msg: TWMMoving); message WM_MOVING;
  private
    { Private declarations }
    FTopLeft : TPoint;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   TForm2.Create(self).Show;
end;

procedure TForm1.OnMove(var Msg: TWMMove);
var
   i : integer;
begin
   inherited;
   for i := 0 to Screen.FormCount -1 do
   begin
      if Screen.Forms[i] is TForm2 then
      begin
         // Differenz zwischen alter und neuer Position ebenfalls
         // auf die anderen Fenster anwenden
         Screen.Forms[i].Top := Screen.Forms[i].Top+Top-FTopLeft.X;
         Screen.Forms[i].Left := Screen.Forms[i].Left+Left-FTopLeft.Y;
      end;
   end;
end;

procedure TForm1.OnMoving(var Msg: TWMMoving);
begin
   // Alte Postion merken
   FTopLeft := Point(Top, Left);
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#87

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 18:37
Zitat von Union:
Wieso dafür eigentlich eine eigene Klasse?....
Delphi-Quellcode:
type
  TForm1 = class(TForm)
...
Äh... was ist TForm1 dann?
Egal, prinzipiell hast Du Recht, die Implementierung ist wirklich relativ simpel. Es sollen aber auch andere Applikationen magnetisch sein, denn es könnte sein, das ein 'Childfenster' in C++ oder -ja das geht- in VB implementiert wird (Stichwort: Plugins). Und dann sollte man schon zu etwas generischen Methoden greifen.

Ich habe Windows-Messages und Shared Memory verwendet. Weiterhin ist meine Klasse skinfähig und wenn ein neuer Skin geladen wird, sollte das schon irgendwie mitgeteilt werden. Ergo kapselt man diese Funktionalität dann doch in eine eigene Klasse. Bei mir war das ein 'MagneticManager', der sich um die Visualisierung und das Management gekümmert hat.
Delphi-Quellcode:
...
Screen.Forms[i].Top := Screen.Forms[i].Top+Top-FTopLeft.X;
Screen.Forms[i].Left := Screen.Forms[i].Left+Left-FTopLeft.Y;
...
Wusste gar nicht, das das geht... Aber zappeln da die Fenster nicht?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#88

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 18:46
Zitat:
Äh... was ist TForm1 dann?
Sicherlich ist das eine Klasse, aber hier stellvertretend für ein beliebiges Form. Ich wollte auch nur zeigen, dass man mit 10 Zeilen Code in Delphi das Problem im Grunde relativ elegant mit Bordmitteln lösen kann.
Zitat:
Aber zappeln da die Fenster nicht?
Na klar zappeln die - wenn es mehr als fünf oder so sind und die Anzahl der Controls spielkt natürlich auch eine Rolle. Das liegt aber nicht unbedingt daran, ob man jetzt eine Klasse benutzt - auch da werden ja dann wohl hoffentlich die Fenster ganz normal über API verschoben. Oder greifst Du direkt auf die Blitting-Engine Deiner Grafikkarte zu ...
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#89

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 22:22
Zitat von EWeiss:
Als Hochtitulierter, Studierter ? bestimmt! Hätte ich dir etwas mehr zugetraut.
Zu allem anderen Äusserungen wurde schon was gesagt, wobei ich mich der Meinung anschliesse. Ich werde mich demnächst auch nicht mehr bemühen Leuten zu helfen, weil es am Ende so endet (ausserdem besser für meine Gesundheit). Zum dem oberen Zitat möchte ich noch anmerken, dass ich keine Studium habe und auch nichts in der Richtung betreibe. Ich habe mich selber nie "hochtituliert" - siehe Signatur.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#90

Re: Übersetzung Class MagneticWindow

  Alt 14. Okt 2006, 22:44
Union hat das fatal einfach gelöst. Mir fällt dazu nur ein, dass man auch mit einer Komponente auf die Messages eines Forms zugreifen kann. Man muß nur die Parents durchlaufen bis man am Form angekommen ist und klinkt sich dann ein.

Ach so, so ein Ingenieur- oder Informatiikstudium hat aus gutem Grund einen Titel. Das wird einem nicht geschenkt und ist einfach der Nachweiss, für Biss und Ausdauer und (Prüfungs-)(Sresstoleranz auf einem Arbeitsgebiet. Es gibt natürlich auch andere Nachweismöglichkeiten, z.B. die Bill Gates-Variante.

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 9 von 12   « Erste     789 1011     Letzte »    


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 03:22 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