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
  #181  
Antiguo 17-11-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Poder: 18
Khronos Va por buen camino
Bueno, veo que el hilo esta un poco abandonado y pensé: "vamos a revivir el hilo con más código inútil"

Bueno el siguiente código son copias "baratas" de las funciones ExtractFileName, ExtractFileExt y ExtractFilePath pero menos sofisticadas que las que vienen en la unidad SysUtils

Código Delphi [-]
function ExtractFileNameW(const FileName: string): string;
var
i: integer;
begin
  result:= EmptyStr;
  for i := Length(FileName) downto 0 do
      begin
        if FileName[i] = '\' then
          begin
            result:= Copy(FileName, i + 1, length(FileName));
            break;
          end;
      end;
end;

function ExtractFileExtW(const FileName: string): string;
var
i: integer;
begin
result:= EmptyStr;
for i := Length(FileName) downto 0 do
  begin
      if FileName[i] = '.' then
        begin
          result:= Copy(FileName, i + 1, length(FileName));
          break;
        end;
  end;
end;

function ExtractFilePathW(const FileName: string): string;
var
i: integer;
begin
result:= EmptyStr;
  for I := Length(FileName) downto 0  do
    begin
      if FileName[i] = '\' then
        begin
          result:= Copy(FileName, 0, i);
          Break;
        end;
    end;

end;

Un ejemplo de llamada:

Código Delphi [-]
   showmessage(ExtractFilePathW(paramstr(0)));
   showmessage(ExtractFileExtW(paramstr(0)));
   showmessage(ExtractFileNameW(paramstr(0)));

Salu2
Responder Con Cita
  #182  
Antiguo 24-11-2008
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
Leer datos puerto COM usando ApdPRO

Hola

Buendo, estaba trabajando con el puerto serial /COM y he decidido usar la librería comport, esta trae una función que te regresa los datos recibidos, al igual que un método donde puedes meter código y leer los datos recibidos, al final he decidido usar las poderosas ApdPRO , Bueno, solo he usado el componente ApdComPort y este igual tiene un método donde puedes hacer lo que quieras con la respuesta del puerto, pero yo necesitaba poder tener la respuesta en cualquier parte de mi código y poder usarla en más de 1 ocación, y enviar el comando que quiera y tener la respuesta para trabajar con ella, eso igual puedes hacer en el método OnTiggerAvail pero en mi caso se a llenado de puros if, alse if, etc

Así que he decidido hacerme mi própia función que me retorne la respuesta del puerto, es un poco cutre y mal hecha de seguro, recién estoy aprendiendo delphi, me gustaría que me corrijan en que fallo, pero a mi me funciona perfecto (suerte seguro jeje) pero aquí está:

Código Delphi [-]
function SendAT(AT: string): String;
var
  c : String;
  ET : EventTimer;
begin
  NewTimer(ET, 15);
  ApdComPort.PutString('AT' + AT + #13#10);

  repeat
    Application.ProcessMessages;
    //ApdComPort1.ProcessCommunications;
    while ApdComPort.CharReady do
    begin
      c := c + ApdComPort.GetChar;
      Sleep(1);
    end;
  until TimerExpired(ET);
  Result := c;
end;

Para su uso solo llamen a la función con el comando necesario.

Ejemplo:
Código Delphi [-]
var
respuesta: String;
Begin
  // enviamos una cadena vacía, pero en si, se envía el comando AT, la respuesta sería algo así : AT: OK, igual pueden enviar '+CGMI', etc
  Respuesta := SendAT(''); 
  Showmessage(Respuesta);
end;
Bueno, con el tiempo que le he puesto parece funcionar, ya que eso creo que tiene "mucho" que ver cuando escribes/lees el puerto.

Espero que a alguien le sirva.

Saludos!

Última edición por BlackDaemon fecha: 24-11-2008 a las 16:52:12.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Utilidad para comparar dos bases de datos. avmm2004 Varios 1 16-11-2006 20:47:22
Utilidad para contar lineas de código Alexander Varios 10 18-10-2006 00:14:55
Utilidad para manejo de lista TODO ANG4L Varios 3 02-08-2006 09:36:39
Cual es la utilidad de la paleta Server Gelmin Servers 1 05-03-2004 22:20:36
utilidad del application.tag Giniromero OOP 8 17-10-2003 12:21:53


La franja horaria es GMT +2. Ahora son las 09:12:51.


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