WIN CE Editor

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Midnight Ghost
Beiträge: 4
Registriert: Di 24. Nov 2009, 10:12

WIN CE Editor

Beitrag von Midnight Ghost »

Hi,

ich versuche zur Zeit einen Editor für mein Navi zu Programmieren habe aber für einige Probleme noch keine Lösung...

1.) Seit gestern sind alle Buttons, und das Memo feld verschwunden. D.h. wenn ich die projekt1.exe aufs Navi ziehe und sie starte wird nur der Bildschirm grau so als würde sich das formular öffnen, und alles würde auf Visible = False gestellt werden.

2.) Die übliche leiste mit [X] und [OK] wird auch nicht angezeigt was zur follge hat das sich das Programm dann nicht mehr beenden lässt :?
(Habe zwar ein menuitem mit close; bestückt, aber die leiste hätte ich dennoch gern.

3.) Mein MainMenu1 wird nicht wie in der "Vorschau" oben, sondern ganz unten angezeigt.

4.) Wenn ich auf meinen Button Klicke um eine txt datei zu öffnen passiert optisch gar nix. das einzigste was passiert ist, das sich das Program nicht mehr über den Ende button beenden lässt. :(

Code: Alles auswählen

if opendialog1.execute then
   memo1.Lines.LoadFromFile(opendialog1.filename);
problem gelöst: funktioniert unter der 0.9.28.2 beta version.

5. Wenn ich über die größe des Memo feldes hinaus schreibe und scrollen muss, geht es bei jedem klick auf einen button wieder an den anfang, so das ich erneut scrollen muss.

Code: Alles auswählen

begin
 memo3.SelText := 'A';
end;
Ich danke euch schon mal für eure Hilfe,

Mfg Midnight Ghost

-----------EDIT der Übersicht halber----------
6.) hab es mal im win 32 compilieren lassen, da öffnen sich dann acuh die dialoge. aber wenn ich in denen auf den Desktop zugreifen möchte, spukt er mir follgende fehlermeldung entgegen:
Project raised exception class 'External: SIGSEGV'.
Problem "gelöst", es hat quasi nie Existiert. denn ausherhalb des Debuggers funktioniert es :oops: . Danke dafür an Monta

7.) Wie kann ich ein "enter zeichen" erstellen? Ich meine einen platzhalter, so als würde man die enter taste drücken und eine neue Zeile erstellen.
Problem gelöst mit:

Memo1.SelText:= LineEnding

8.) die zwischenspeicher funktion geht nicht unter WinCE

Danke dafür wieder an Monta :D
Zuletzt geändert von Midnight Ghost am Sa 28. Nov 2009, 14:04, insgesamt 2-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: WIN CE Editor

Beitrag von mschnell »

Welcher Navi läuft denn mit WINCE und wie kann man da neue Programme starten ?
Ich weiß, dass der TomTom mit Linux auf ARM läuft und zumindest prinzipiell hackable ist. Ich habe aber noch nicht davon gehört, dass da jemand FPC-Programm drauf installiert hat.

-Michael

Midnight Ghost
Beiträge: 4
Registriert: Di 24. Nov 2009, 10:12

Re: WIN CE Editor

Beitrag von Midnight Ghost »

Medion, Becker und sicher noch einige andere mehr laufen auf WIN CE Basis.

Ich persönlich besitze das medion P4420.
Es enthält einen ARM

Von hackable kann nicht die rede sein, bei der etwas älteren GoPal version muss man nur 3 mal ins O klicken und schon öffnete sich der explodierer.
Bei meiner jetzigen 5.0er geht das nicht mehr. Aber man braucht das ding nur an den PC anschließen und ein XML datei schreiben damit man den explorer erneut öffnen kann.

Die programme von Lazarus laufen auch drauf. Nur eben ni ganz so wie sie sollen. Vermutlich liegt es an dem abgespeckten win CE. Aber ich hoffe dennoch das mir hier wer weiterhelfen kann...

----
Update:

1.) ist mehr oder weniger unwichtig geworden. Musste eh alles nochmal neu machen da ich blöder weise statt speedbuttons bitbuttons genommen hatte :(

6.) hab es mal im win 32 compilieren lassen, da öffnen sich dann acuh die dialoge. aber wenn ich in denen auf den Desktop zugreifen möchte, spukt er mir follgende fehlermeldung entgegen:
Project raised exception class 'External: SIGSEGV'.

7.) Wie erkläre ich dem ding das er ein Enter zeichen einsetzen soll?

mfg Ghost

---------
Hier noch die Aktuelle Unit. Bitte nicht erschrecken :wink:

unit Unit1;

Code: Alles auswählen

{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, Menus, Buttons, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Memo1: TMemo;
    MenuItem1: TMenuItem;
    MenuItem10: TMenuItem;
    MenuItem11: TMenuItem;
    MenuItem12: TMenuItem;
    MenuItem13: TMenuItem;
    MenuItem15: TMenuItem;
    MenuItem16: TMenuItem;
    MenuItem17: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    MenuItem6: TMenuItem;
    MenuItem7: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    SpeedButton1: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton13: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    SpeedButton18: TSpeedButton;
    SpeedButton19: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton20: TSpeedButton;
    SpeedButton21: TSpeedButton;
    SpeedButton22: TSpeedButton;
    SpeedButton23: TSpeedButton;
    SpeedButton24: TSpeedButton;
    SpeedButton25: TSpeedButton;
    SpeedButton26: TSpeedButton;
    SpeedButton27: TSpeedButton;
    SpeedButton28: TSpeedButton;
    SpeedButton29: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton30: TSpeedButton;
    SpeedButton31: TSpeedButton;
    SpeedButton32: TSpeedButton;
    SpeedButton33: TSpeedButton;
    SpeedButton34: TSpeedButton;
    SpeedButton35: TSpeedButton;
    SpeedButton36: TSpeedButton;
    SpeedButton37: TSpeedButton;
    SpeedButton38: TSpeedButton;
    SpeedButton39: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton40: TSpeedButton;
    SpeedButton41: TSpeedButton;
    SpeedButton42: TSpeedButton;
    SpeedButton43: TSpeedButton;
    SpeedButton44: TSpeedButton;
    SpeedButton45: TSpeedButton;
    SpeedButton46: TSpeedButton;
    SpeedButton47: TSpeedButton;
    SpeedButton48: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton8: TSpeedButton;
    SpeedButton9: TSpeedButton;
    procedure MenuItem10Click(Sender: TObject);
    procedure MenuItem12Click(Sender: TObject);
    procedure MenuItem13Click(Sender: TObject);
    procedure MenuItem15Click(Sender: TObject);
    procedure MenuItem16Click(Sender: TObject);
    procedure MenuItem17Click(Sender: TObject);
    procedure MenuItem2Click(Sender: TObject);
    procedure MenuItem3Click(Sender: TObject);
    procedure MenuItem4Click(Sender: TObject);
    procedure MenuItem6Click(Sender: TObject);
    procedure MenuItem7Click(Sender: TObject);
    procedure SpeedButton10Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton13Click(Sender: TObject);
    procedure SpeedButton14Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton16Click(Sender: TObject);
    procedure SpeedButton17Click(Sender: TObject);
    procedure SpeedButton18Click(Sender: TObject);
    procedure SpeedButton19Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton20Click(Sender: TObject);
    procedure SpeedButton21Click(Sender: TObject);
    procedure SpeedButton22Click(Sender: TObject);
    procedure SpeedButton23Click(Sender: TObject);
    procedure SpeedButton24Click(Sender: TObject);
    procedure SpeedButton25Click(Sender: TObject);
    procedure SpeedButton26Click(Sender: TObject);
    procedure SpeedButton27Click(Sender: TObject);
    procedure SpeedButton28Click(Sender: TObject);
    procedure SpeedButton29Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton30Click(Sender: TObject);
    procedure SpeedButton31Click(Sender: TObject);
    procedure SpeedButton32Click(Sender: TObject);
    procedure SpeedButton33Click(Sender: TObject);
    procedure SpeedButton34Click(Sender: TObject);
    procedure SpeedButton35Click(Sender: TObject);
    procedure SpeedButton36Click(Sender: TObject);
    procedure SpeedButton37Click(Sender: TObject);
    procedure SpeedButton38Click(Sender: TObject);
    procedure SpeedButton39Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton40Click(Sender: TObject);
    procedure SpeedButton41Click(Sender: TObject);
    procedure SpeedButton42Click(Sender: TObject);
    procedure SpeedButton43Click(Sender: TObject);
    procedure SpeedButton44Click(Sender: TObject);
    procedure SpeedButton45Click(Sender: TObject);
    procedure SpeedButton46Click(Sender: TObject);
    procedure SpeedButton47Click(Sender: TObject);
    procedure SpeedButton48Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
 
  end; 
 
var
  Form1: TForm1;
  var shift : string;
 
implementation
 
{ TForm1 }
 
procedure TForm1.MenuItem10Click(Sender: TObject);
begin
  close;
end;
 
procedure TForm1.MenuItem12Click(Sender: TObject);
begin
 memo1.Undo;
end;
 
procedure TForm1.MenuItem13Click(Sender: TObject);
begin
  showmessage('Noch keinen plan');
end;
 
procedure TForm1.MenuItem15Click(Sender: TObject);
begin
  memo1.CutToClipboard;
end;
 
procedure TForm1.MenuItem16Click(Sender: TObject);
begin
  memo1.CopyToClipboard;
end;
 
procedure TForm1.MenuItem17Click(Sender: TObject);
begin
  memo1.PasteFromClipboard;
end;
 
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
  Memo1.Lines.clear;
end;
 
procedure TForm1.MenuItem3Click(Sender: TObject);
begin
  memo1.SelectAll;
end;
 
procedure TForm1.MenuItem4Click(Sender: TObject);
begin
  if opendialog1.execute then
   memo1.Lines.LoadFromFile(opendialog1.filename);
end;
 
procedure TForm1.MenuItem6Click(Sender: TObject);
begin
  memo1.Lines.SavetoFile(savedialog1.filename);
end;
 
procedure TForm1.MenuItem7Click(Sender: TObject);
begin
 if savedialog1.execute then
    memo1.Lines.SavetoFile(savedialog1.filename);
end;
 
 
procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton10.Caption;
end;
 
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton11.Caption;
end;
 
procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton12.Caption;
end;
 
procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton13.Caption;
end;
 
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton14.Caption;
end;
 
procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton15.Caption;
end;
 
procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton16.Caption;
end;
 
procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton17.Caption;
end;
 
procedure TForm1.SpeedButton18Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton18.Caption;
end;
 
procedure TForm1.SpeedButton19Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton19.Caption;
end;
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton1.Caption;
end;
 
procedure TForm1.SpeedButton20Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton20.Caption;
end;
 
procedure TForm1.SpeedButton21Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton21.Caption;
end;
 
procedure TForm1.SpeedButton22Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton22.Caption;
end;
 
procedure TForm1.SpeedButton23Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton23.Caption;
end;
 
procedure TForm1.SpeedButton24Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton24.Caption;
end;
 
procedure TForm1.SpeedButton25Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton25.Caption;
end;
 
procedure TForm1.SpeedButton26Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton26.Caption;
end;
 
procedure TForm1.SpeedButton27Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton27.Caption;
end;
 
procedure TForm1.SpeedButton28Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton28.Caption;
end;
 
procedure TForm1.SpeedButton29Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton29.Caption;
end;
 
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton2.Caption;
end;
 
procedure TForm1.SpeedButton30Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton30.Caption;
end;
 
procedure TForm1.SpeedButton31Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton31.Caption;
end;
 
procedure TForm1.SpeedButton32Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton32.Caption;
end;
 
procedure TForm1.SpeedButton33Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton33.Caption;
end;
 
procedure TForm1.SpeedButton34Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton34.Caption;
end;
 
procedure TForm1.SpeedButton35Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton35.Caption;
end;
 
procedure TForm1.SpeedButton36Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton36.Caption;
end;
 
procedure TForm1.SpeedButton37Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton37.Caption;
end;
 
procedure TForm1.SpeedButton38Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton38.Caption;
end;
 
procedure TForm1.SpeedButton39Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton39.Caption;
end;
 
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton3.Caption;
end;
 
procedure TForm1.SpeedButton40Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton40.Caption;
end;
 
procedure TForm1.SpeedButton41Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton41.Caption;
end;
 
procedure TForm1.SpeedButton42Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton42.Caption;
end;
 
procedure TForm1.SpeedButton43Click(Sender: TObject);
begin
  Memo1.selText := Speedbutton43.Caption;
end;
 
procedure TForm1.SpeedButton44Click(Sender: TObject);
begin
 Speedbutton1.Caption := '1';
 Speedbutton2.Caption := '2';
 Speedbutton3.Caption := '3';
 Speedbutton4.Caption := '4';
 Speedbutton5.Caption := '5';
 Speedbutton6.Caption := '6';
 Speedbutton7.Caption := '7';
 Speedbutton8.Caption := '8';
 Speedbutton9.Caption := '9';
 Speedbutton10.Caption := '0';
 Speedbutton11.Caption := 'ß';
 Speedbutton12.Caption := 'q';
 Speedbutton13.Caption := 'w';
 Speedbutton14.Caption := 'e';
 Speedbutton15.Caption := 'r';
 Speedbutton16.Caption := 't';
 Speedbutton17.Caption := 'z';
 Speedbutton18.Caption := 'u';
 Speedbutton19.Caption := 'i';
 Speedbutton20.Caption := 'o';
 Speedbutton21.Caption := 'p';
 Speedbutton22.Caption := 'ü';
 Speedbutton23.Caption := 'a';
 Speedbutton24.Caption := 's';
 Speedbutton25.Caption := 'd';
 Speedbutton26.Caption := 'f';
 Speedbutton27.Caption := 'g';
 Speedbutton28.Caption := 'h';
 Speedbutton29.Caption := 'j';
 Speedbutton30.Caption := 'k';
 Speedbutton31.Caption := 'l';
 Speedbutton32.Caption := 'ö';
 Speedbutton33.Caption := 'ä';
 Speedbutton34.Caption := 'y';
 Speedbutton35.Caption := 'x';
 Speedbutton36.Caption := 'c';
 Speedbutton37.Caption := 'v';
 Speedbutton38.Caption := 'b';
 Speedbutton39.Caption := 'n';
 Speedbutton40.Caption := 'm';
 Speedbutton41.Caption := ',';
 Speedbutton42.Caption := '.';
 Speedbutton43.Caption := '-';
 
 
 speedbutton46.Visible := True;
 speedbutton44.Visible := false;
end;
 
procedure TForm1.SpeedButton45Click(Sender: TObject);
begin
  memo1.SelText := ' ';
end;
 
procedure TForm1.SpeedButton46Click(Sender: TObject);
begin
 Speedbutton1.Caption := '!';
 Speedbutton2.Caption := '"';
 Speedbutton3.Caption := '§';
 Speedbutton4.Caption := '$';
 Speedbutton5.Caption := '%';
 Speedbutton6.Caption := '&';
 Speedbutton7.Caption := '/';
  Speedbutton8.Caption := '(';
 Speedbutton9.Caption := ')';
 Speedbutton10.Caption := '=';
 Speedbutton11.Caption := '?';
 Speedbutton12.Caption := 'Q';
 Speedbutton13.Caption := 'W';
 Speedbutton14.Caption := 'E';
 Speedbutton15.Caption := 'R';
 Speedbutton16.Caption := 'T';
 Speedbutton17.Caption := 'Z';
 Speedbutton18.Caption := 'U';
 Speedbutton19.Caption := 'I';
 Speedbutton20.Caption := 'O';
 Speedbutton21.Caption := 'P';
 Speedbutton22.Caption := 'Ü';
 Speedbutton23.Caption := 'A';
 Speedbutton24.Caption := 'S';
 Speedbutton25.Caption := 'D';
 Speedbutton26.Caption := 'F';
 Speedbutton27.Caption := 'G';
 Speedbutton28.Caption := 'H';
 Speedbutton29.Caption := 'J';
 Speedbutton30.Caption := 'K';
 Speedbutton31.Caption := 'L';
 Speedbutton32.Caption := 'Ö';
 Speedbutton33.Caption := 'Ä';
 Speedbutton34.Caption := 'Y';
 Speedbutton35.Caption := 'X';
 Speedbutton36.Caption := 'C';
 Speedbutton37.Caption := 'V';
 Speedbutton38.Caption := 'B';
 Speedbutton39.Caption := 'N';
 Speedbutton40.Caption := 'M';
 Speedbutton41.Caption := ';';
 Speedbutton42.Caption := ':';
 Speedbutton43.Caption := '_';
 
  speedbutton44.Visible := True;
  speedbutton46.Visible := false;
end;
 
procedure TForm1.SpeedButton47Click(Sender: TObject);
begin
  Memo1.selText := '#000';
end;
 
procedure TForm1.SpeedButton48Click(Sender: TObject);
begin
 memo1.ClearSelection;
end;
 
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton4.Caption;
end;
 
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton5.Caption;
end;
 
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton6.Caption;
end;
 
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton7.Caption;
end;
 
procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton8.Caption;
end;
 
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
 Memo1.selText := Speedbutton9.Caption;
end;
 
initialization
  {$I unit1.lrs}
 
end.

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: WIN CE Editor

Beitrag von monta »

Wieso denn immer SelText?

Willst du wirklich irgend was ersetzen oder immer nur ein Zeichen hinten dran hängen?

zu 3) Bei Win CE (zumindest einigen Versionen, ich kann nicht alle auswendig) sind Menüleisten per Standard unten, da kannst du nichts machen ;). Diese Besonderheit wird in der Vorschau halt nicht berücksichtigt.

zu 6.) starte mal in Windows außerhalb von Lazarus, bzw. ohne Debugger, bleibt da der Fehler?

zu 7.) Was ist ein Enterzeichen? Möchtest du einen Platzhalter für Enter oder einfach eine neue Zeile?
neue Zeile: Memo.Lines.Add('');
oder, wenn es nach deinem Schema sein soll, einfach ein: Memo.SelText := LineEnding;

zu 5. sollte nicht Memo.SelStart := Length(Memo.Text) oder irgendwie so, das Problem lösen?


Nebenbei bemerkt, ist der Thread höchst unübersichtlich.
Johannes

Midnight Ghost
Beiträge: 4
Registriert: Di 24. Nov 2009, 10:12

Re: WIN CE Editor

Beitrag von Midnight Ghost »

Ich möchte ein Zeichen hinten dran hängen, ABER wenn ich irgendwo in mitten den textes den cursor setze will ich ab da weiter schreiben bzw. markiertes dann überschreiben.

3) Das die auch standartmäsig unten sein kann wusst ich noch gar nicht. Gut zu wissen. Aber in verschiedenen Programmen sind sie bei mir auch oben (z.B. Total Commander oder auch der explorer, also sollte es ja irgendeine Möglichkeit geben meine auch da oben hin zu kleben.

5.) Memo1.SelStart := Length(Memo1.Text) funktioniert zum Teil. dadurch rutscht beim klick auf den button die scrollleiste nicht mehr nach oben, sondern nach ganz unten. Nicht aber an die stelle wo ich gerade schreibe. Noch dazu kommt das der cursor sich danach ans ende des memo feldes stellt. Das bedeutet, wenn ich etwas editiern möchte in mitten des Textets schreibt er ein Zeichen an die gewünschte stelle, alle weiteren aber wieder ganz unten hin.

6.) Danke, ohne Debugger funzt es im 32er. Aber auf meiner CE Version passiert optisch immernoch rein gar nix. Hab auch schon versucht "ofOldStyleDialog" auf True zu stellen.

7.) mit enter zeichen meine ich einen platzhalter. quasi so als würde man die enter taste drücken und eine neue Zeile erstellen.
Memo1.Lines.add:=''; geht demnach leider nicht da das die neue zeile immer am ende erstellt.

Memo1.SelText:= LineEnding; -> Funktioniert genau wie gewünscht, riesen dankeschön dafür :D:D:D

-------------
wieso empfindest du den thread als unübersichtlich? ich frage nur um es das nächste mal besser gestallten zu können. :D

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: WIN CE Editor

Beitrag von monta »

ich meinte, etwas unübersichtlich, da die 7 Fragen doch etwas verteilt standen und man erstmal suchen musste, worauf man jetzt genau antworten sollte ;)
Aber passt schon.

zu 3.) Da bin ich überfragt. Bei mir (Win CE auf dem Smartphone) sind die generell, auch beim Total Commander unten. Da stellt sich die Frage, ob das mit Lazarus einfach zu ändern ist, die nach oben zu bringen. Die Position des Mainmenüs wird vermute ich mal, auch erst zur Laufzeit vom System bestimmt und nicht direkt in Lazarus definiert.

zu 6.) ich habe da gerade was im englischen Forum gefunden:
http://lazarus.freepascal.org/index.php?topic=8012.0" onclick="window.open(this.href);return false;
bzw. http://wiki.lazarus.freepascal.org/Wind ... ment_Notes" onclick="window.open(this.href);return false;
Wie zumindest dort steht, sollten mit Lazarus 0.9.28 die Dialoge funktionieren. Welche Version von Lazarus nutzt du den eigentlich?

Außerdem steht auf der Seite auch etwas zu deinem Problem 2:
http://wiki.lazarus.freepascal.org/Wind ... 22_buttons" onclick="window.open(this.href);return false;


zu 5.)
Wenn du zwischendrin bist, sollte es doch möglich sein, die Position zu speichern.
Ich wundere mich zwar, dass das Memo immer wieder nach ganz oben springt, da sich ja die CursorPosition eigentlich durch Ersetzen nicht in der Form verändern sollte. (eventuell sogar ein Bug) aber könntest du es nicht damit umgehen, statt Length(Memo1.Text) zu nutzen die Cursorposition zu sichern.
in etwa so:

Code: Alles auswählen

var position: integer;
//...
position := Memo.SelStart;
Memo1.selText := Speedbutton16.Caption;
Memo.SelStart := Position;
Du kannst dir übrigens mit einem kleinen Typcast des Senders 26 * eine Einzelprozedure zu schreiben ersparen, wenn du ohnenhin nur die Caption des jeweiligen Buttons nimmst, kannst du folgendes machen:

Code: Alles auswählen

procedure TForm1.SpeedButton1Click(Sender: TObject);
var curposition: integer;
begin
  curposition := Memo1.SelStart + 1;
  Memo1.SelText := TSpeedButton(Sender).Caption;
  Memo1.SelStart := curposition;
end;
Also einmal diese Funktion erstellen und allen weiteren Buttons dann lediglich im Objektinspektor diese Procedure bei OnClick zuweisen.
Johannes

Midnight Ghost
Beiträge: 4
Registriert: Di 24. Nov 2009, 10:12

Re: WIN CE Editor

Beitrag von Midnight Ghost »

japp, das hatte ich mir gestern dann auch noch überlegt und deswegen werde ich alle Probleme mit gefundener lösung mit in die eröffnung schreiben.Danke das du mich darauf aufmerksam gemacht hast :D

3.) hmm... da alle anderen richtig positioniert sind gibt es nur noch die möglichkeiten das sie einfach keine üblichen mainmenus sind oder das mein lazarus nen kleinen bug hat.
Ich dachte ich benutze die aktuelle weil ich es erst kürzlich runtergeladen habe aber ich hab nochmal nachgeschaut, es war die 26er. :oops:

5.) Die funktion sender kannte ich noch gar nicht, stelle aber fest das sie verdammt nützlich ist, danke dafür :D

Ja, man sollte an nehmen das dass möglich ist aber aus irgend einem Grund geht das bei mir immer wieder nach oben (im W32)
Im 'WC'E allerdings geht es bei dieser procedure:

Code: Alles auswählen

procedure TForm1.SpeedButton1Click(Sender: TObject);
var curposition: integer;
begin
  curposition := Memo1.SelStart + 1;
  Memo1.SelText := TSpeedButton(Sender).Caption;
  Memo1.SelStart := curposition;
end;
als auch bei der "normalen" erst nach ganz oben und scrollt sich anschließend wieder zu der stelle wo ich geschrieben habe.

Also funktioniert es rein theoretisch aber da ein navi nicht gerade leistungsstark ist sieht man bei jedem klick wie das memo feld scrollt.

Antworten