Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2012
wcbs wcbs is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 27
Poder: 0
wcbs Va por buen camino
Hola ecfisa de nuevo ...

Comprendo lo que me explica, pero al parecer no me e sabido explicar, tu ayuda es muy buena por que me as dado una buena idea para hacer un contador pulsando una tecla con tu ejemplo..

Ahora bien, una pregunta que yo se que para ti y muchos de los usuario con muchos conocimientos
de programación les sera mas fácil, el ejemplo que yo te puse, que debo modificar para que me lea la primera linea cada 1 segundo y me muestre el resultado en la ventanita, recuerda que el archivo lo genera el otro programa y constantemente le esta escribiendo.. y este que con la ayuda de ustedes solo me mostrara los resultados de cada cambio en ese archivo.

me dirás amigo ecfisa si me supe explicar mejor,...
Responder Con Cita
  #2  
Antiguo 16-11-2012
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
wcbs,

Revisa el ejemplo anexo, es una implementación de un contador de pulsaciones de la Tecla Enter, el contador se muestra por pantalla en un control TLabel y se actualiza en un archivo de texto en la primera línea solamente usando la clase TFileStream, además monitorea por medio de un control TTimer si el archivo ha sido actualizado externamente cada un segundo y refleja el cambio en el TLabel.

Espero sea útil

Nelson.
Archivos Adjuntos
Tipo de Archivo: rar CountEnter.rar (174,8 KB, 1 visitas)

Última edición por nlsgarcia fecha: 16-11-2012 a las 06:55:24.
Responder Con Cita
  #3  
Antiguo 16-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por wcbs Ver Mensaje
... el ejemplo que yo te puse, que debo modificar para que me lea la primera linea cada 1 segundo y me muestre el resultado en la ventanita, recuerda que el archivo lo genera el otro programa y constantemente le esta escribiendo...

me dirás amigo ecfisa si me supe explicar mejor,...
Hola wcbs.

Tal vez fuí yo quien no te interpretó..

En principio basta con que agregues un TTimer con un Interval de 1000 milisegundos (1 seg) y en su evento OnTimer pongas el código que lee el dato del archivo.

Podes hacerlo mediante el procedimiento ReadLn como en tu código o, a mi criterio, de forma mas simple usando TStrings:
Código Delphi [-]
...
implementation

const
   RTA_ARCH = 'C:\DBA\contar.txt';

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Enabled := False;
  with TStringList.Create do
  try
    try
      LoadFromFile(RTA_ARCH);
      StaticText1.AutoSize := False;
      StaticText1.Caption  := Strings[Count-1];
      StaticText1.BevelKind:= bkTile;
      Timer1.Interval := 1000;
      Timer1.Enabled  := True;
    except
      raise Exception.Create('Error: No se encontró el archivo ' + RTA_ARCH);
    end;
  finally
    Free;
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  with TStringList.Create do
  try
    LoadFromFile(RTA_ARCH);
    StaticText1.Caption:= Strings[Count-1];
  finally
    Free;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 16-11-2012
wcbs wcbs is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 27
Poder: 0
wcbs Va por buen camino
Bueno mi amigo ecfisa usted acaba de dar en el clavo... me as salvado, yo sabia que para ti al igual que muchos de por acá que les seria mas fácil, yo tengo varios días leyendo por acá y los manuales
de delphi pero es mucha información juntas y para mi no es tan fácil... Usted es mi Héroe..

Ahora dos consulta mas, que con tu ayuda estoy comprendiendo mas y sigo motivado y comprendiendo mas a Delphi...

la Primera...
puedes por favor tu de comprimir me en un archivo rar ese último ejemplo que me pusiste, quiero ver como lo hiciste ya que veo que pocas instrucciones hiciste todo el proceso y yo llevaba muchas lineas de comando y no me acercaba a lo que hiciste con pocos comando.


la segunda..
El ejemplo del CounterEnter que me hiciste como yo lo puedo en ves de hacerlo con la tecla enter hacerlo por ejemplo con la tecla ¨A¨ y que el conteo se quede marcado y que cuando presione solo la tecla ¨X¨ el conteo se ponga el cero asta esperar de nuevo contar la cantidad de veces de presionar la tecla ¨A¨ yo se que tu lo haría mas fácil para yo ir comprendiendo mas la programación con delphi..

Te agradezco enorme mente tu ayuda ..

Un saludo de nuevo para Ti.....
Responder Con Cita
  #5  
Antiguo 16-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola wcbs.

Cita:
puedes por favor tu de comprimir me en un archivo rar ese último ejemplo que me pusiste
Te lo voy a deber en .RAR por que uso WinZip, pero creo lo podes abir con WinRar.


Cita:
El ejemplo del CounterEnter que me hiciste como yo lo puedo en ves de hacerlo con la tecla enter hacerlo por ejemplo con la tecla ¨A¨ y que el conteo se quede marcado y que cuando presione solo la tecla ¨X¨ el conteo se ponga el cero asta esperar de nuevo contar la cantidad de veces de presionar la tecla ¨A¨
Si no te entiendo mal sería:
Código Delphi [-]
implementation

var
  ContadorDeAes: Integer = 0;  // (si queres podes dejar 'ContadorDeEnter')

...

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Upcase(Key) of
    'A': begin
           Inc(ContadorDeAes);
           StaticText1.Caption:= IntToStr(ContadorDeAes);
           TS.Add(StaticText1.Caption);
         end;
    'X': ContadorDeAes:= 0;
  end;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-04-2013 a las 20:18:35.
Responder Con Cita
  #6  
Antiguo 16-11-2012
wcbs wcbs is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 27
Poder: 0
wcbs Va por buen camino
Hey... amigo ecfisa como decía anteriormente usted es un genio, el contar funciona de maravillas
Uuuuffff me a dado muchiiiiiiisima ayuda....después de ver como lo hiciste con pocas lineas
veo que tengo que seguir aprendiendo, y esto vale muy bien el esfuerzo, ahora le estoy dando forma a
la ventina y la estoy poniendo transparente, y esta quedando muy bien gracias a usted...amigo...

el segundo ejemplo lo probare, al terminal esta ventanita y ya te comentare y cualquier consulta
te escribiré por acá de nuevo...


Gracias.....
Responder Con Cita
  #7  
Antiguo 16-11-2012
wcbs wcbs is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 27
Poder: 0
wcbs Va por buen camino
Hola ecfisa yo con otra consulta

el contador esta funcionado ya configure la ventanita, pero el archivo que me tiene que leer lo esta leyendo peri mira esto que se me escapaba, el archivo tiene en la primera linea los números así en este orden..
1 125 0 0 0 0 0 1.00000 0.00000 0.00000 0.0000

ahora bien el numero que me tiene que mostrar es solo el 125 , como hago para que solo me muestre esos caracteres de esa linea en particular, veras que en primer numero es el 1 que ese no debe salir luego hay un espacio y luego el 125 y hay otro espacio, solo donde esta el 125 es que necesito.

acá te agrego ya lo que tengo gracias a tu ayuda, me dirás por favor que debo agragar...?

Código Delphi [-]
  unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Timer1: TTimer;  // TTimer en la pestaña 'System'
    StaticText1: TStaticText;
    Label1: TLabel; // StaticText en la pestaña 'Additional'
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation  {$R *.dfm}


const
   RTA_ARCH = 'C:\DBA\contar.txt';

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Enabled := False;
  with TStringList.Create do
  try
    try
      LoadFromFile(RTA_ARCH);
      StaticText1.AutoSize := False;
      StaticText1.Caption  := Strings[Count-1];
      StaticText1.BevelKind:= bkTile;
      Timer1.Interval := 100;
      Timer1.Enabled  := True;
    except
      raise Exception.Create('Error: No se encontró el archivo ' + RTA_ARCH);
    end;
  finally
    Free;
  end;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  with TStringList.Create do
  try
    LoadFromFile(RTA_ARCH);
    StaticText1.Caption:= Strings[Count-1];
  finally
    Free;
  end;
end;

end.

....
Responder Con Cita
  #8  
Antiguo 16-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por wcbs Ver Mensaje
Hola ecfisa yo con otra consulta

el contador esta funcionado ya configure la ventanita, pero el archivo que me tiene que leer lo esta leyendo peri mira esto que se me escapaba, el archivo tiene en la primera linea los números así en este orden..
1 125 0 0 0 0 0 1.00000 0.00000 0.00000 0.0000

ahora bien el numero que me tiene que mostrar es solo el 125 , como hago para que solo me muestre esos caracteres de esa linea en particular, veras que en primer numero es el 1 que ese no debe salir luego hay un espacio y luego el 125 y hay otro espacio, solo donde esta el 125 es que necesito.
Hola.

Basta con que reemplaces cada línea que dice:
Código Delphi [-]
  StaticText1.Caption  := Strings[Count-1];

Por:
Código Delphi [-]
  StaticText1.Caption:= Copy(Strings[Count-1], 3, 3);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problemas con presentar imagen Yoana Varios 1 01-12-2010 20:47:44
Presentar Informacion en un DbEdit hondaalberto MS SQL Server 8 28-09-2010 20:58:29
ayuda con numeros de tipo flotante vero_17jm SQL 3 07-12-2006 14:06:51
Presentar incremento de un contador ronimaxh Varios 5 22-10-2005 21:11:06
Interbase 7 no me reconoce numeros de punto flotante Periyo Firebird e Interbase 1 12-09-2003 19:56:34


La franja horaria es GMT +2. Ahora son las 09:16:43.


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