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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2005
Moises22 Moises22 is offline
Miembro
 
Registrado: sep 2005
Posts: 53
Poder: 19
Moises22 Va por buen camino
Unhappy ¿como pasar de String dentro de un PChar?

Hola a todos, soy novatillo en Delphi y mi pregunta es la siguiente:

Tengo lo siguiente:

Código Delphi [-]
 
var
   cadena:String;
   url:String;
 begin
   cadena:=Edit1.Text;
   url:='http://paginasinconcretar?ID='+cadena;
   ShellExecute(Self.Handle, PCHar('open'), PChar('explorer.exe'),
   PChar(url), nil, SW_SHOWNORMAL);
 end;
Lo que no me deja hacer es lo que esta en rojo, como puedo pasarle la variable al PChar()¿?????

Última edición por dec fecha: 24-09-2005 a las 04:58:08. Razón: ¡¡Encerrad el código fuente entre las etiquetas [DELPHI] ... [/DELPHI]!!
Responder Con Cita
  #2  
Antiguo 23-09-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba a pasarlo antes a una variable.
Código Delphi [-]
 MiVar:Pchar;
 Begin
 MiVar:=Pchar(Url);
 ShellExecute(Self.Handle, PCHar('open'), PChar('explorer.exe'),
    PChar(MiVar), nil, SW_SHOWNORMAL);

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 26-09-2005
Moises22 Moises22 is offline
Miembro
 
Registrado: sep 2005
Posts: 53
Poder: 19
Moises22 Va por buen camino
Lo he probado como dices, pero sigue sin funcionar, que puedo hacerr?????
Responder Con Cita
  #4  
Antiguo 26-09-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Primero no dices que error te da.

Incluye ShellApi en el Uses de tu form.
Código Delphi [-]
  procedure TForm1.Button2Click(Sender: TObject);
  var
   MiVar:Pchar;
   url:String;
   Begin
   url:='http://www.clubdelphi.com';
   MiVar:=Pchar(Url);
   ShellExecute(Self.Handle, PCHar('open'), PChar('explorer.exe'),
      PChar(MiVar), nil, SW_SHOWNORMAL);
  end;

Lo acabo de probar y funciona sin ningún problema.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 26-09-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Mira que no haga lo quieres lo que esperas es una cosa pero el codigo esta bien pero lo que quieres hacer es esto.

Código Delphi [-]
Var
  url: string
Begin  
  //url := 'lo que sea';
  ShellExecute(Handle,nil,PChar(url),'','',SW_SHOWNORMAL)
end;

Asi haces lo que de verda esperas ya que si no especificas la aplicacion esta llamara aplicacion por defecto no solo para paginas sino para cualquier archivo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.

Última edición por rastafarey fecha: 26-09-2005 a las 15:40:54. Razón: Edicion
Responder Con Cita
  #6  
Antiguo 27-09-2005
Moises22 Moises22 is offline
Miembro
 
Registrado: sep 2005
Posts: 53
Poder: 19
Moises22 Va por buen camino
Arrow

Tienen razon funcionaba perfectamente, el problema que me sigue dando es que mi cadena es del tipo www.loquesea.com?ID=8, es en el caracter = donde me da el problemas. ¿Cual es la forma de introducirlo como cadena??

Mi probema es con el caracter =, se que en Java se resuelve poniendolo asi \= pero en Delphi al ser novato no lo se.¿Alguien me podria ayudar?

Última edición por Moises22 fecha: 27-09-2005 a las 10:35:33.
Responder Con Cita
  #7  
Antiguo 27-09-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Esto funciona perfecto no veo cual es el problema.

Aqui tienes un codigo ejemplo

Solo pruebalo

Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Uses ShellApi;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Edit1.Text := 'http://www.clubdelphi.com/foros/forumdisplay.php?f=19';
  ShellExecute(Handle,nil,PChar(Edit1.Text),'','',SW_SHOWNORMAL)
end;

end.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 03:21:42.


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