Hola compañeros tengo una inquietud por saber que digamos extras le añaden a sus programas y con que combinación de colores suelen jugar, como el tema de los colores de mis programas los pueden ver en este hilo
http://www.clubdelphi.com/foros/show...t=83457&page=5 pongo a continuación algo suelo añadir normalmente en el módulo del menú del programa, se trata de lo siguiente:
Pongo normal mente un botón, con el siguiente código
Código Delphi
[-]begin
ShellExecute(FMenuPrincipal.Handle, nil, PChar('http://www.correctorortografico.com'),'','',SW_SHOWNORMAL);
end;
permitiendo corregir la ortografía de un texto por el método claro copiar y pegar a través de Internet
Pongo normal mente otro botón, con el siguiente código
[DELPHI[/delphi]
Llamando al traductor de google, por el método claro copiar y pegar a través de Internet
Suelo añadir el siguiente código que ha ido evolucionando con los años que me permite crear anotaciones en fechas y marcarlas en el calendario
Código Delphi
[-]
var a,m,d:word;
begin if haycambios then
begin
if (MessageBox(0, 'Hay una anotación nueva o modificada, '+#13+#10+ '¿Desea grabarla?', 'Atención', MB_ICONSTOP or MB_YESNO or MB_DEFBUTTON2) = ID_No) then abort
else memo3.Lines.SaveToFile(fechaactual);
haycambios:=False;
end;
DecodeDate(MonthCalendar3.Date, a, m,d);
fechaactual:=IntToStr(d)+'_'+IntToStr(m)+'_'+IntToStr(a);
memo3.Lines.Clear;
if FileExists(fechaactual) then memo3.Lines.LoadFromFile(fechaactual);
haycambios:=false;
PAnel13.caption:='Anotaciones para el '+ DateTostr(MonthCalendar3.Date);
mesx:=m;
Diax:=D
end;
procedure TFMenuPrincipal.MonthCalendar3GetMonthInfo(Sender: TObject;
Month: Cardinal; var MonthBoldInfo: Cardinal);
var a,m,d:Word;
i,cont, Mes:integer;
dia:array[1..365] of cardinal;
varNDiasouble;
varFinicio,varfFin,varFactual:TDate;
begin
uxtheme.SetWindowTheme(MonthCalendar3.Handle, '', ''); DecodeDate(Now, a, m ,d);
fechaactual:=IntToStr(d)+'_'+IntToStr(m)+'_'+IntToStr(a);
cont:=0;
varFinicio:=strtodate('01/01/'+IntToStr(a));
varffin:=strtodate('01/01/'+inttostr(a+1));
varndias:=varffin-varfinicio;
varfactual:=varfinicio;
Mes:=1;
for I := 1 to strtoint(FloatToStr(varndias)) do
begin
DecodeDate(varFactual, a, m ,d);
fechaactual:=IntToStr(d)+'_'+IntToStr(m)+'_'+IntToStr(a);
if (Mes<>M) then
begin
if Month=mes then MonthCalendar3.BoldDays(dia,MonthBoldInfo);
ZeroMemory(@Dia,SizeOf(Dia)); Mes:=M;
cont:=0;
end;
if FileExists(fechaactual) then
begin
cont:=cont+1;
dia[Cont]:=strtoint(FloatToStr(d));
end;
if ((M=12) and (D=31)) then
begin
if Month=12 then MonthCalendar3.BoldDays(dia,MonthBoldInfo);
ZeroMemory(@Dia,SizeOf(Dia)); Mes:=M;
cont:=0;
end;
varFactual:=varFactual+1;
end;
end;
procedure TFMenuPrincipal.SpeedButton30Click(Sender: TObject);
begin
if haycambios then memo3.Lines.SaveToFile(fechaactual);
MonthCalendar3.Date:= MonthCalendar3.Date+365;
MonthCalendar3.Date:= MonthCalendar3.Date-365;
Memo3.Lines.Clear;
haycambios:=False;
end;
procedure TFMenuPrincipal.SpeedButton31Click(Sender: TObject);
function BorrarArchivo(Ruta:string):boolean;
begin if (DeleteFile(PChar(Ruta))) then
begin
Result:=true;
end
else
begin
Result:=false;
end;
end;
begin
Memo3.Lines.Clear;
haycambios:=False;
BorrarArchivo(fechaactual);
MonthCalendar3.Date:= MonthCalendar3.Date+365;
MonthCalendar3.Date:= MonthCalendar3.Date-365;
end;
procedure TFMenuPrincipal.Memo3Change(Sender: TObject);
begin
haycambios:=true;
end;
Además suelo poner una agenda para los contactos, que se pueda abrir la calculadora y que recuerde poco más.
Espero participeis y con vuestras aportaciones, generar cada vez ejecutables más completos y atractivos.