Autor Beitrag
Amun
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50

XP Home ;(((
D6 Pers
BeitragVerfasst: Fr 13.08.04 08:01 
hi wie gehts ich hab mal ne frage

ausblenden Delphi-Quelltext
1:
else ShowMessage('Fehler: Die gemachte Angabe ' + strBuff1 + ' ist'+ #13 + 'Fehlerhaft und stimmt nicht mit der normalen Formatierung einer Zeiteingabe überein');					


sieht eigentlich so richtig aus oder
will halt nur nen Zeilenumbruch und komischerweise gibt er mir denn eine Standartantwort an....

ausblenden Delphi-Quelltext
1:
else ShowMessage('Fehler: Die gemachte Angabe ' + strBuff1 + ' ist Fehlerhaft und stimmt nicht mit der normalen Formatierung einer Zeiteingabe überein');					


So nimmt er diese Fehlermeldung nur sieht es halt nicht gut aus weil das fenster dann so langgezogen ist.

plz help
Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
Inferno
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 76



BeitragVerfasst: Fr 13.08.04 08:05 
Hi,

probiers mal so:

ausblenden Delphi-Quelltext
1:
else ShowMessage('Fehler: Die gemachte Angabe ' + strBuff1 + ' ist'+ #13 + #10 + 'Fehlerhaft und stimmt nicht mit der normalen Formatierung einer Zeiteingabe überein');					


Unter Windows ist ein Zeilenumbruch als #13+#10 definiert (CR+LF)

hoffe es hilft dir

mfg
Inferno
Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 13.08.04 08:08 
Titel: Re: Problem mit showmassage
Amun hat folgendes geschrieben:
sieht eigentlich so richtig aus oder

Nich ganz ;) Probiers mal damit:
ausblenden Delphi-Quelltext
1:
else ShowMessage('Fehler: Die gemachte Angabe ' + strBuff1 + ' ist'+ #13#10 + 'Fehlerhaft und stimmt nicht mit der normalen Formatierung einer Zeiteingabe überein');					

Ob nun #13#10 oder #10#13, das kann ich mir nich merken, aber bei mir gehts mit beidem ;)
Aber bei mir gehts auch mit nur #13, also einfach mal mit #13#10 und #10#13 probieren.

// edit: Huch, da war Inferno schneller.

raziel

_________________
JSXGraph
Amun Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50

XP Home ;(((
D6 Pers
BeitragVerfasst: Fr 13.08.04 08:38 
jau jetzt geht es thx

Ich find das Forum echt klasse dickes LOB!

und ich habe noch eine Frage...

ist jetzt etwas schwerer zu erklären...

hab nen mainmenu eingebunden dort gibt es die spalte "?"

da drin dann Begriff Info wenn ich den anklicke will ich ...

ja ich will gern Das Standartinformation von Windows XP haben.

ich hoffe ihr wisst was ich meine

user defined image

das halt von Windows XP das sollte halt den auf gehen wie kann ich das bewerkstelligen?
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 13.08.04 08:45 
z.B. so:
ausblenden Delphi-Quelltext
1:
2:
3:
uses {...}, ShellAPI;
{...}
  ShellAbout(Form1.Handle, 'Form1', 'Dies ist eine AboutBox der Form1-Test-App', 0);

Allgemeine Syntax:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
function ShellAbout( hWnd: HWND,           // handle of parent window
                     szApp: PChar,         // title bar and first line text
                     szOtherStuff: PChar,  // other dialog text
                     hIcon: HICON          // icon to display
                    );


Eigentlich gilt aber: Neue Frage -> Neuer Thread. (Vielleicht kann das ein Mod ja noch trennen ;))

raziel

_________________
JSXGraph
Amun Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50

XP Home ;(((
D6 Pers
BeitragVerfasst: Fr 13.08.04 08:54 
Es tut mir leid ich weiß nicht genau wo ich das jetzt einfügen muss?


Form1 da ist das main menu drauf
{...} <--- was ist damit gemeint?
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 13.08.04 09:06 
{...} Damit ist irgendwelcher Code gemeint, der zwischen uses und dem Aufruf der AboutBox steht. Du fügst den Code da ein, wo die AboutBox geöffnet werden soll und zwar in ?-Info-OnClick procedure.

raziel

_________________
JSXGraph
Amun Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50

XP Home ;(((
D6 Pers
BeitragVerfasst: Fr 13.08.04 09:27 
Wenn ich die funktion oben mit einbaue sagt er fehler


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:
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:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus, Buttons, ClipBrd;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Label1: TLabel;
    Button17: TButton;
    Button18: TButton;
    CheckBox1: TCheckBox;
    MainMenu1: TMainMenu;
    Bearbeiten1: TMenuItem;
    N1: TMenuItem;
    KopierenStrgC1: TMenuItem;
    EinfuegenStrgV1: TMenuItem;
    Info1: TMenuItem;
    Info2: TMenuItem;
    Button20: TButton;
    procedure Button18Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure ZeiButtonClick(Sender: TObject);
    procedure OpButtonClick(Sender: TObject);
    procedure IstButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Hilfe2Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure KopierenStrgC1Click(Sender: TObject);
    procedure EinfuegenStrgV1Click(Sender: TObject);
    procedure Info2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  function IsValidDate(AString : string; var ADateTime : TDateTime): Boolean;
  function IsTime(s:string): Boolean;
  function ShellAbout( hWnd: HWND,           // handle of parent window
                     szApp: PChar,         // title bar and first line text  
                     szOtherStuff: PChar,  // other dialog text
                     hIcon: HICON          // icon to display  
                    ); 


implementation

uses Unit2;

{$R *.DFM}

var strBuff1, strBuff2: string;   // Operanden- u. Ergebnisspeicher
    op: Char;                     // Operation (+,-,*,/)
    mode: Byte = 1;               // 1 = ersten Operand eingeben
                                  // 2 = zweiten Operand eingeben

procedure StrToClipbrd(StrValue: string);
var 
  S: string; 
  hMem: THandle; 
  pMem: PChar; 
begin 
  hMem := GlobalAlloc(GHND or GMEM_SHARE, Length(StrValue) + 1); 
  if hMem <> 0 then 
  begin
    pMem := GlobalLock(hMem); 
    if pMem <> nil then 
    begin 
      StrPCopy(pMem, StrValue); 
      GlobalUnlock(hMem); 
      if OpenClipboard(0) then 
      begin 
        EmptyClipboard;
        SetClipboardData(CF_TEXT, hMem);
        CloseClipboard;
      end 
      else 
        GlobalFree(hMem); 
    end
    else 
      GlobalFree(hMem);
  end;
end;





function GetStrFromClipbrd: string;
begin 
  if Clipboard.HasFormat(CF_TEXT) then 
    Result := Clipboard.AsText 
  else 
  begin 
    ShowMessage('There is no text in the Clipboard!'); 
    Result := ''; 
  end;
end;

  procedure TForm1.Button19Click(Sender: TObject);
begin

Label1.Caption := '0';
strBuff1 := '';
strBuff2 := '';


end;

procedure TForm1.Button17Click(Sender: TObject); // Anzeige löschen
begin
  if mode = 1 then
  begin
  StrBuff1 := '';
  Label1.Caption := '0'
  end
  else
  begin

  StrBuff2 := '';
  Label1.Caption := '0'
  end;
 Label1.Caption := '0'
end;


procedure TForm1.ZeiButtonClick(Sender: TObject);       // Zahleneingabe
var zei: Char;      // eingegebenes Zeichen
begin
 if Sender = Button10 then zei := '0';
 if Sender = Button1 then zei := '1';
 if Sender = Button2 then zei := '2';
 if Sender = Button3 then zei := '3';
 if Sender = Button4 then zei := '4';
 if Sender = Button5 then zei := '5';
 if Sender = Button6 then zei := '6';
 if Sender = Button7 then zei := '7';
 if Sender = Button8 then zei := '8';
 if Sender = Button9 then zei := '9';
 if CheckBox1.Checked then
 begin
   if Sender = Button11 then zei := ':';
 end
 else
 begin
   if Sender = Button11 then zei := '.';
 end;
 //if Sender = Button19 then zei := ':';
 if mode = 1 then
 begin
  strBuff1 := strBuff1 + zei;
  Label1.Caption := strBuff1
 end else
 begin
  strBuff2 := strBuff2 + zei;
  Label1.Caption := strBuff2
 end
end;



procedure TForm1.OpButtonClick(Sender: TObject);   // Operation auswählen
begin
 if mode = 1 then
 begin
  if Sender = Button14 then op:= '+';
  if Sender = Button15 then op:= '-';
  if Sender = Button12 then op:= '*';
  if Sender = Button13 then op:= '/';
  StrBuff2:='';
  mode := 2
 end
end;



procedure TForm1.IstButtonClick(Sender: TObject); // Ergebnis berechnen
var res, op1, op2: Double;
    code: Integer;
    s: string;
    t3,t2,t1: TDateTime;
begin
  if mode = 2 then
  begin
  Val(strBuff1, op1, code);
                                              // StringBuffer1 in Zahl verwandeln
  Val(strBuff2, op2, code);


                                            // StringBuffer2 in Zahl verwandeln
  if CheckBox1.Checked then
  begin
     if IsTime(strBuff1) then t3 := StrToDateTime(strBuff1)
     else ShowMessage('Fehler: Die gemachte Angabe ' + strBuff1 + 'Fehlerhaft ist '+ #13#10 + ' und stimmt nicht mit der normalen Formatierung einer Zeiteingabe überein');
     if IsTime(strBuff1) then
     begin
     t2 := StrToDateTime(strBuff2);

     case op of                    // Operation durchführen

        '+': t1 := t3 + t2;
        '-': t1 := t3 - t2;
        '*': t1 := t3 * t2;



     else ShowMessage('Fehler');
        end
      end;

      //Label1.Caption := TimeToStr(t1);
      Label1.Caption := FormatDateTime('hh:nn', t1);
  end
  else
  begin
    case op of                    // Operation durchführen
    '+': res:= op1 + op2;
    '-': res := op1 - op2;
    '*': res := op1 * op2;
    '/': res := op1 / op2
    end;
    s:= Format('%g',[res]);      // Ergebnis formatieren
    Label1.Caption := s;         // ... und anzeigen

  end;

  mode := 1;
  strBuff1 := ''
 end
end;

procedure TForm1.Button18Click(Sender: TObject);  // Rechner ausschalten
begin
 Close
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.HelpFile := 'Taschenrechner.hlp'
end;



procedure TForm1.Hilfe2Click(Sender: TObject);
begin
 Application.HelpJump('Inhalt')
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked then
  begin
    //Button19.Visible := true;
    Button11.Caption := ':';
  end
  else
  begin
    //Button19.Visible := false;
    Button11.Caption := '.';
  end;
end;


function IsValidDate(AString : string; var ADateTime : TDateTime): Boolean;
  begin
    Result := True;
    try
      ADateTime := StrToDateTime(AString);
    except
      ADateTime := 0;
      Result := False;
    end;
  end;

function IsTime(s:string): Boolean;
var dummy : TDateTime;
begin
        Result := True;

try
        dummy := StrToTime(s);
except
        Result := False
end;

end;






procedure TForm1.KopierenStrgC1Click(Sender: TObject);
begin
     StrToClipbrd(Label1.Caption);


end;

procedure TForm1.EinfuegenStrgV1Click(Sender: TObject);
begin
    Label1.Caption:=Clipboard.AsText;
end;

procedure TForm1.Info2Click(Sender: TObject);
begin

 uses {...}, ShellAPI;
{...}  
  ShellAbout(Form1.Handle, 'Form1', 'Dies ist eine AboutBox der Form1-Test-App', 0); 
 
 


end;

end.







[Fehler] Unit1.pas(61): ';', ')' oder '=' erwartet, aber ',' gefunden

und der kommt dann 3 mal ka wieso...
Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 13.08.04 09:36 
Probiers mal so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Info2Click(Sender: TObject);
begin
  ShellAbout(Form1.Handle, 'Form1', 'Dies ist eine AboutBox der Form1-Test-App', 0); 
end;

und gaaanz weit oben am Anfang deiner Unit musst Du noch die Unit ShellAPI einbinden und zwar so:
ausblenden Delphi-Quelltext
1:
2:
3:
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus, Buttons, ClipBrd, ShellAPI;


raziel

_________________
JSXGraph
Amun Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50

XP Home ;(((
D6 Pers
BeitragVerfasst: Fr 13.08.04 09:59 
AHHHHHHHH ICH WERDE VERRÜCKT ES KLAPPT!!!! :oops:

ohhhh man du hast mich glücklich gemacht!!!!

thx

und nochmal ein lob das du nicht an mir verzweifelt hast!

Mfg AMun

Moderiert von user profile iconPeter Lustig: 27 Smilies entfernt :roll:
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 13.08.04 10:01 
Danke! Wenn Du jetzt noch auf das kleine grüne Häkchen rechts oberhalb deines ersten Posts klicken könntest... ;-)

_________________
JSXGraph