Autor Beitrag
kronoide
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mo 22.01.07 19:45 
hi Delpifans :wave:

ist es in Tedit möglich ein prefix reinzuschreiben das man nicht löschen kann also z.b.
sowas: C:\> (und hier ist dann irgendein text)

hoffe ihr versteht was ich meine und könnt mir helfen :o


Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 22.01.2007 um 18:45
aim65
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 312

Win 9x, Win XP
Delphi 3pro, 7PE
BeitragVerfasst: Di 23.01.07 19:24 
Also, mir fällt nur folgende Bastelei ein:
Ein Panel der passenden Größe nehmen mit (im OI einstellen):
Alignment: taLeftJustify
Bevelinner: bvLowered
BevelOuter: bvNone
Color: clWhite
evtl. noch BevelWidth: 2

Darin ein Edit-Feld so positionieren, daß links noch Platz für "C:\>" (Panel.Caption) ist.
BorderStyle: bsNone setzen.
Mit "Top" noch die vertikale SchriftPos justieren.

Wenn Du nur ein oder wenige Edits hast, ist das noch tragbar.
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Di 23.01.07 19:57 
Hi kronoide,

nicht schön aber funktioniert einigermaßen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var s: String;
begin
 if COPY(Edit1.Text, 04) <> 'C:\>' then begin
  INSERT('C:\>', s, 0);
  Edit1.Text := s;
  Edit1.SelStart := 4;
  end;
end;


Gruß

Saubäär
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Di 23.01.07 20:54 
Das wird nich klappen, da man erst den Anfang löscht.
Meine Idee wäre, ab einer Bestimmten Cursorposition die Lösch-Taste zu verbieten (key:=#0)

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Di 23.01.07 22:06 
user profile iconjakobwenzel hat folgendes geschrieben:
Das wird nich klappen, da man erst den Anfang löscht.
Meine Idee wäre, ab einer Bestimmten Cursorposition die Lösch-Taste zu verbieten (key:=#0)


War auch meine Idee. PRoblem daran ist allerdings, dass man damit immer noch Einfügen, Alles markieren und löschen, übers Kontextmenü löschen und so weiter könnte.

gruss
kronoide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Do 25.01.07 19:02 
user profile iconaim65 hat folgendes geschrieben:
Also, mir fällt nur folgende Bastelei ein:
Ein Panel der passenden Größe nehmen mit (im OI einstellen):
Alignment: taLeftJustify
Bevelinner: bvLowered
BevelOuter: bvNone
Color: clWhite
evtl. noch BevelWidth: 2

Darin ein Edit-Feld so positionieren, daß links noch Platz für "C:\>" (Panel.Caption) ist.
BorderStyle: bsNone setzen.
Mit "Top" noch die vertikale SchriftPos justieren.

Wenn Du nur ein oder wenige Edits hast, ist das noch tragbar.


naja das ist eine möglichkeit aber nicht genau das was ich möchte,
ist das also nicht möglich oder habt ihr vielleicht eine edit komponente für delphi 7 die diese option hat??
kronoide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Do 25.01.07 19:10 
user profile iconSaubäär hat folgendes geschrieben:
Hi kronoide,

nicht schön aber funktioniert einigermaßen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var s: String;
begin
 if COPY(Edit1.Text, 04) <> 'C:\>' then begin
  INSERT('C:\>', s, 0);
  Edit1.Text := s;
  Edit1.SelStart := 4;
  end;
end;


Gruß

Saubäär


das geht schon in die richtige richtung aber man muss wie schon gesagt wurde den anfang zuerst löschen :cry:
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: Do 25.01.07 19:14 
Also ... nur so ne Idee :
ausblenden Delphi-Quelltext
1:
2:
3:
If Key=(vk_Delete) Then 
  If Length(edit1.Text) <= 4 Then 
    Key:=0;

sollt so vll. gehen :lol:

Fighter#1

Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
kronoide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Do 25.01.07 19:18 
user profile iconFighter#1 hat folgendes geschrieben:
Also ... nur so ne Idee :
ausblenden Quelltext
1:
2:
3:
If Key=(vk_Delete) Then 
  If Length(edit1.Text) <= 4 Then 
    Key:=0;

sollt so vll. gehen :lol:

Fighter#1


naja wenn ich es versuche zu kompilieren gibt er mir diese fehlermeldung

[Error] Unit1.pas(36): Incompatible types: 'Char' and 'Integer'
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: Do 25.01.07 19:20 
Erstens hab ichs nur so grad hier im FOrum geschrieben und zweitens tus mal ins OnKeyDown rein und nicht ins OnKeyPress :lol:

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Do 25.01.07 19:22 
Und dann markier mal alles und drück auf "zurück"... ;)

//edit: dein Beispiel funktioniert überhaupt nicht ^^
kronoide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Do 25.01.07 19:28 
hab den code etwas modifiziert funktioniert super
danke :D
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: Do 25.01.07 19:28 
Ja gut. .. hab mich wohln bissel vertan :-)
Also es müsste vk_Back heißen und ich muss noch n bissel erweitern ...

ACh ... das macht die Sache nur kompliziert. Warum stellst du nicht einfach ein Label davor?
Dann hast du keine Sorgen mehr!

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
aim65
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 312

Win 9x, Win XP
Delphi 3pro, 7PE
BeitragVerfasst: Do 25.01.07 19:58 
Damit wär'n wir wieder am Anfang... :mrgreen: hihihi.

Mein Vorschlag ist schnell umgesetzt und hätte den Vorteil, dass man das Ding auf der Form verschieben kann, ohne zu justieren. Außerdem sieht man nicht, daß es aus zwei Einheiten besteht. Bin halt Anhänger der Steinzeit und des KISS-Prinzips.

Alternativ könnte man ja vielleicht eine Komponente a la MaskEdit schreiben.
MfG Horst
Ratchet
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 63

Windows7 x86
D5 Ent., D2006 Arch.
BeitragVerfasst: Fr 26.01.07 10:22 
www.tmssoftware.com

Dort mal nach TAdvEdit gucken. Wenn dein Projekt nur für dich privat ist kannst du die Komponenten sogar kostenlos benutzen.
ssb-blume
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 375
Erhaltene Danke: 7

XP, W7, W8
Deutschland
BeitragVerfasst: Fr 26.01.07 10:38 
Man kann auch ein Richedit nehmen und nur so gross machen, wie noetig. Dort ist es moeglich,
Text zu "dissabel"n:
Auswählen mit seltext und sellength und dann die Eigenschaft dissabled auf false setzen.

_________________
Brain: an apparatus with which we think we think.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 26.01.07 11:01 
Du könntest vieleicht mal sagen für was das gut sein soll, wenn Du das Programm weitergeben willst wird Dir ein fester Pfad sowieso nichts nützen.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)