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 06-05-2014
Pedron Pedron is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 10
Poder: 0
Pedron Va por buen camino
Mostrar el numero de renglon de un Memo

Hola buenas tardes mi duda es como hacer para mostrar el numero del renglon donde esta una palabra por ejemplo

Código:
Memo1

HOLA

que imprima esto en un .txt
Palara: HOLA renglon: 2

Lei que es algo mas o menos asi

Código Delphi [-]
var
 LineaActual : Integer;
begin
 LineaActual := Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);

pero no se como mandarlo a un .txt

Código Delphi [-]
SaveToFile('archivo.txt');

es algo asi pero pues no se exactamente como acomodarlo de ante mano muchas gracias
Responder Con Cita
  #2  
Antiguo 07-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Pedron Ver Mensaje
Hola buenas tardes mi duda es como hacer para mostrar el numero del renglon donde esta una palabra ...
Hola Pedron.

Respondiéndo estríctamente a lo que solicitas:
Código Delphi [-]
function LineFirstOcurr(const aWord: string; M:TMemo): Integer;
var
  c, bw: Integer;
begin
  Result:= -1;
  bw:= AnsiPos(aWord, M.Text);
  if bw <> 0 then
  begin
    c:= 0;
    while c < bw  do
    begin
      if M.Text[c] = #10 then Inc(Result);
      Inc(c);
    end;
    Inc(Result); 
  end;
end;

Uso:
Código Delphi [-]
...
var
  fo: Integer;
begin
  fo:= LineFirstOcurr(Edit1.Text, Memo1);
  if fo <> -1 then
    ShowMessage(Format('La primer ocurrencia de "%s", está en la línea %d',
      [Edit1.Text, fo]));

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 07-05-2014
Pedron Pedron is offline
Miembro
NULL
 
Registrado: may 2014
Posts: 10
Poder: 0
Pedron Va por buen camino
Ya lo resolvi muchisimas graciaaas
Responder Con Cita
  #4  
Antiguo 07-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Pedron Ver Mensaje
Ya lo resolvi muchisimas graciaaas
Ya te lo resolvieron, mejor dicho
Responder Con Cita
  #5  
Antiguo 07-05-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Pedron,

Cita:
Empezado por Pedron
...como hacer para mostrar el numero del renglón donde esta una palabra...que imprima esto en un .txt...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   i, p : Integer;
   Msg : String;
   SL : TStringList;
   Search : Boolean;

begin

   SL := TStringList.Create;

   for i := 0 to Memo1.Lines.Count - 1 do
   begin
      Search := True;
      p := 0;
      while Search do
      begin
         p := PosEx(Edit1.Text, Memo1.Lines.Strings[i],p);
         if (p <> 0) then
         begin
            Msg := Format('Literal %s Encontrado en la Línea Número %d Posición %d',
                          [Edit1.Text,i,p]);
            MessageDlg(Msg,mtInformation,[mbOK],0);
            SL.Add(Msg);
            p := p + Length(Edit1.Text);
         end
         else
            Search := False;
      end;
   end;

   SL.SaveToFile('SearchWord.txt');

   SL.Free;

end;

end.
El código anterior en Delphi 7 bajo Windows 7 Professional x32, busca un literal en un TMemo y por cada ocurrencia muestra y salva en un archivo txt la línea y posición del literal encontrado.

Espero sea útil

Nelson.
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
Obtener el número de linea actual de un memo Byfed OOP 2 20-02-2009 12:44:23
Signos ???? en Memo al mostrar cucuy MySQL 1 22-10-2008 04:13:54
Memo con número máximo de líneas tonyluna36 Varios 3 30-05-2007 16:32:37
Establecer numero maximo lineas RichEdit o Memo pepecharlie67 Varios 9 05-04-2006 22:52:52
Saber el numero de caracteres de un memo judoboy Varios 1 20-06-2003 14:27:19


La franja horaria es GMT +2. Ahora son las 14:31:00.


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