Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2013
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 192
Poder: 13
elcharlie Va por buen camino
Problema de Principiante

Hola!
Abro este hilo, para ver si alguna alma caritativa me puede echar una mano. Soy novato en esto de programar en Delphi, aunque he usado otros lenguajes, y a primera vista me resulta interesante.
El problema en cuestion, es que, estoy haciendo una dll, para usar en otro lenguaje. Todo me iba bastante bien, hasta que he metido una funcion que devuelve en pchar una fecha seleccionada en un MonthCalendar.
Aparentemente funciona bien, pero la primera vez que se llama a la función no me devuleve toda la fecha y me la trunca con el ascci 24(Cancelar), me Explico; si tiene que devolver 13/03/2013, me devuelve 13/03/20(Ascci(24) que es la flecha arriba). Os dejo el codigo para que me digais, lo raro es que solo me pasa la primera vez que llamo la funcion, luego va bien.
Gracias de antemano.
Codigo dll:
Código PHP:
function Seleccionar_Fecha(sTitulopChardiapCharmespCharanopChar): pChar;stdcall;
var
  
fechaStr string;
  
fechain TDateTime;
  
resultado pChar;
begin
   fechaStr
:=dia+'/'+mes+'/'+ano;
   
fechain := StrToDate(fechaStr);
   
Form_Fecha :=nil;
   
Form_Fecha := TForm_Fecha.Create(nil);
   if 
Form_Fecha <> nil then
   with Form_Fecha 
do
       
begin
       Form_Fecha
.Caption:=sTitulo;
        
Form_Fecha.Aceptar:=FALSE;
         
Form_Fecha.MonthCalendar1.Date := fechain;
          try
              
Form_Fecha.ShowModal;
                if 
Form_Fecha.Aceptar TRUE then
                 begin
                    result
:=PChar(StringReplace(DateToStr(Form_Fecha.MonthCalendar1.Date), ' ','',[rfReplaceAll]));
                  
end
                
else
                  
begin
                    result
:=PChar('');
                  
end;
              
finally
                Form_Fecha
.Free;
              
end;
          
end;
        
end
end

y este del formulario que usa:

Código PHP:
unit SeleccionarFecha;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsComCtrlsStdCtrls;

type
  TForm_Fecha 
= class(TForm)
    
MonthCalendar1TMonthCalendar;
    
Button1TButton;
    
Button2TButton;
    
procedure FormClose(SenderTObject; var ActionTCloseAction);
    
procedure Button1Click(SenderTObject);
    
procedure Button2Click(SenderTObject);
    
procedure MonthCalendar1DblClick(SenderTObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
    
Aceptar boolean ;
    
//FechaString : String;
    //Fecha : TDate;
  
end;

var
  
Form_FechaTForm_Fecha;
implementation


{$R *.dfm}





procedure TForm_Fecha.FormClose(SenderTObject; var ActionTCloseAction);
begin
   Action 
:= caFree;
end;
procedure TForm_Fecha.Button1Click(SenderTObject);
begin
  Aceptar 
:= FALSE;
  
Form_Fecha.Close;
end;

procedure TForm_Fecha.Button2Click(SenderTObject);
begin
  Aceptar 
:= TRUE;
  
Form_Fecha.Close;
end;



procedure TForm_Fecha.MonthCalendar1DblClick(SenderTObject);
begin
  Aceptar 
:= TRUE;
  
Form_Fecha.Close;
end;

end
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
de un principiante dtomeysoto MySQL 1 02-04-2008 16:11:42
Problema de principiante fox Lazarus, FreePascal, Kylix, etc. 3 11-12-2007 15:47:46
Principiante krloz99 Varios 3 08-06-2007 15:59:30
principiante olybola Conexión con bases de datos 3 17-05-2004 19:56:36
Principiante fjcg02 Internet 3 10-03-2004 20:54:50


La franja horaria es GMT +2. Ahora son las 12:28:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi