Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Brauch Hilfe beim Color Dialog
moerf94 - Di 18.01.11 22:20
Titel: Brauch Hilfe beim Color Dialog
Also Ich muss ein HTML "Wandler" erstellen. Also man soll einen Text im Memofeld1 öffnen, Dann soll per oneclick der text ins HTML format gewandelt werden und im memofeld2 ausgegeben werde. Das klappt schon mal. So hier ist erstmal mein Code und Das Programm:
Code:
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: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Memo2: TMemo; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; ColorDialog1: TColorDialog; Button10: TButton; procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button5Click(Sender: TObject); private textfarbe:string;
public end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button4Click(Sender: TObject); begin form1.close; end;
procedure TForm1.Button1Click(Sender: TObject); begin if opendialog1.Execute then memo1.Lines.LoadFromFile(opendialog1.filename); end;
procedure TForm1.Button9Click(Sender: TObject); begin memo1.Clear; end;
procedure TForm1.Button2Click(Sender: TObject); begin memo2.clear; memo2.Lines.Add('<html>'); memo2.Lines.Add(' <head>'); memo2.Lines.Add(' <title> </title>'); memo2.Lines.Add(' </head>'); memo2.Lines.Add(' <body text='+ textfarbe +' bgcolor="#FFFFFF">'); memo2.Lines.Add(memo1.Text); memo2.Lines.Add(' </body>'); memo2.Lines.Add('</html>'); end;
procedure TForm1.Button3Click(Sender: TObject); begin if savedialog1.Execute then memo2.Lines.LoadFromFile(opendialog1.filename); end;
procedure TForm1.Button10Click(Sender: TObject); begin memo2.clear; end;
procedure TForm1.FormCreate(Sender: TObject); begin textfarbe:='"#000000"'; end;
begin end;
end. |
So nun zu meinen Problemen ich möchte die rgb werte im body kopf der html seite ändern mit dem dialog colordialoge1. Ich habe für die werte bereits eine variable gesetzt und beim strart setzt er auch den Anfangswert den ich vorgegeben habe. Nun möchte ich das der dialog sich öffnet wenn man auf HTML Hintergrungfarbe drückt und die variable neu setzt. Ich hoffe auf euere hilfe. Danke schon mal im voraus.
Moderiert von
Narses: Delphi-Tags hinzugefügt
Moderiert von
Martok: Topic aus Sonstiges (Delphi) verschoben am Di 18.01.2011 um 23:24
Narses - Di 18.01.11 23:28
Moin und :welcome: im Forum!
Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den
Richtlinien [
http://www.entwickler-ecke.de/richtlinien.html]:
1.2 Beiträge: |
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...] |
Einfach oben bei Deinem ersten Beitrag auf

oder

klicken und den Titel ändern. Danke Dir!
cu
Narses
bummi - Mi 19.01.11 00:59
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TForm1.Button1Click(Sender: TObject); type TColorRec=Record Red:Byte; Green:Byte; Blue:Byte; Alpha:Byte; end; var textcolor:String; begin if Colordialog1.Execute then begin textcolor := '"#' +IntToHex(TColorRec(Colordialog1.Color).Red,2) + IntToHex(TColorRec(Colordialog1.Color).Green,2) + IntToHex(TColorRec(Colordialog1.Color).Blue,2) +'"'; end; end; |
jaenicke - Mi 19.01.11 07:43
Oder ganz einfach:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var textcolor: String; begin if Colordialog1.Execute then begin textcolor := '"#' + IntToHex(GetRValue(Colordialog1.Color), 2) + IntToHex(GetGValue(Colordialog1.Color), 2) + IntToHex(GetBValue(Colordialog1.Color), 2) + '"'; ... end; end; |
moerf94 - Mi 19.01.11 18:07
So das klappt aber ich habe noch ein Problem. So erst mal der Code:
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: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Memo2: TMemo; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; ColorDialog1: TColorDialog; Button10: TButton; procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); private textcolor:string; bgcolor:string;
public end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button4Click(Sender: TObject); begin form1.close; end;
procedure TForm1.Button1Click(Sender: TObject); begin if opendialog1.Execute then memo1.Lines.LoadFromFile(opendialog1.filename); end;
procedure TForm1.Button9Click(Sender: TObject); begin memo1.Clear; end;
procedure TForm1.Button2Click(Sender: TObject); begin memo2.clear; memo2.Lines.Add('<html>'); memo2.Lines.Add(' <head>'); memo2.Lines.Add(' <title> </title>'); memo2.Lines.Add(' </head>'); memo2.Lines.Add(' <body text='+ textcolor +' bgcolor="#FFFFFF">'); memo2.Lines.Add(memo1.Text); memo2.Lines.Add(' </body>'); memo2.Lines.Add('</html>'); end;
procedure TForm1.Button3Click(Sender: TObject); begin if savedialog1.Execute then memo2.Lines.LoadFromFile(opendialog1.filename); end;
procedure TForm1.Button10Click(Sender: TObject); begin memo2.clear; end;
procedure TForm1.FormCreate(Sender: TObject); begin textcolor:='"#000000"'; bgcolor:='"#FFFFFF"'; end;
procedure TForm1.Button5Click(Sender: TObject); var textcolor:String; begin if Colordialog1.Execute then begin textcolor := '"#' + IntToHex(GetRValue(Colordialog1.Color), 2) + IntToHex(GetGValue(Colordialog1.Color), 2) + IntToHex(GetBValue(Colordialog1.Color), 2) + '"'; end; memo2.clear; memo2.Lines.Add('<html>'); memo2.Lines.Add(' <head>'); memo2.Lines.Add(' <title> </title>'); memo2.Lines.Add(' </head>'); memo2.Lines.Add(' <body text='+ textcolor +' bgcolor="#FFFFFF">'); memo2.Lines.Add(memo1.Text); memo2.Lines.Add(' </body>'); memo2.Lines.Add('</html>'); end;
procedure TForm1.Button6Click(Sender: TObject); var bgcolor:String; begin if Colordialog1.Execute then begin bgcolor := '"#' + IntToHex(GetRValue(Colordialog1.Color), 2) + IntToHex(GetGValue(Colordialog1.Color), 2) + IntToHex(GetBValue(Colordialog1.Color), 2) + '"'; end; memo2.clear; memo2.Lines.Add('<html>'); memo2.Lines.Add(' <head>'); memo2.Lines.Add(' <title> </title>'); memo2.Lines.Add(' </head>'); memo2.Lines.Add(' <body text='+ textcolor +' bgcolor='+ bgcolor +'>'); memo2.Lines.Add(memo1.Text); memo2.Lines.Add(' </body>'); memo2.Lines.Add('</html>');
end;
end. |
Wenn ich nun eine die Hintergrundfarbe änder möchte, dann setzt Delphi für textcolor wieder denn start wert ein sprich :"#000000".
Kann ich den wert der Variable denn so lange speichern bis er geändert wird oder das Programm geschlossen wird?
moerf94 - Mi 19.01.11 18:24
Ja super hat geklappt.
Nun möchte ich mein Programm ein Bisschen verbessern dazu möchte ich das man den Code Für ein bild eingeben kann. Also so in etwas das man im memofeld 2 mit dem Cursor an eine stelle spring und dann auf einen Button drückt. Das dann ein Feld geöffnet wird wo man ein bild auswählen kann und wir an der stelle wo der Cursor ist der html code mit den link zur Datei angegeben ist. Geht das überhaupt oder mute ich mir da zuviel zu?
ALF - Do 20.01.11 13:44
moerf94 hat folgendes geschrieben : |
Also Ich muss ein HTML "Wandler" erstellen. .... |
Machbar ist alles, aber wer kommt auf solche Ideen? Eine Html Seite besteht aber nicht nur aus die paar Zeilen!
Oder jetzt, wie Du es möchtest, noch ein Bild einfügen. Irgendwann kommt text, position und und und, dazu!
Ist halt nur so ne Frage von mir!
Zurück zu Deiner Frage:
Entweder Du erstellst Dir ne neue Form und bastellst Dir einen eigenen Explorer, oder Du rufst in Deinem Prog den Winexplorer dafür auf und mit hilfe von DragDrop, Copy/Paste fügst Du den String an der Stelle ein!
Aber, wie hier und in anderen Foren gilt die
Regel:
Neue Frage, neuer Thread :wink:
Gruss Alf
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!