Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
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 07-03-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Okey, el problema anterior ya lo posteé en varios (aún no me ayudó nadie :S). Ahora tengo otro problema. Quiero hacer un "autocompletar". El algoritmo lo tengo ya hecho, solo me falta un procedimiento. Mi código:

Código Delphi [-]
texto:=Uppercase(memo1.lines.strings[memo1.caretpos.y]);
if Texto ='IF' then begin
memo1.Lines.Strings[memo1.CaretPos.y]:='If';
memo1.Lines.Add('');
memo1.Lines.Add('');
memo1.Lines.Strings[memo1.CaretPos.y]:='EndIf';
end;

Pues con eso si hay algo escrito en medio lo salta. Un ejemplo:

Código:
I          //escribiendo "if"
destroy //algo escrito
Después

Código:
If
destroy

EndIf
Exactamente se quedaría así. ¿Cómo podría arreglarlo para que se quede así:?

Código:
If

EndIf
destroy
Muchas gracias a todos que me ayudáis siempre.

Última edición por rauros fecha: 07-03-2008 a las 17:03:08.
Responder Con Cita
  #2  
Antiguo 09-03-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Vale. Lo anterior ya está solucionado. Ahora tengo 2 problemas:

·No puedo instalar UniSynEdit (posteé en varios pero nadie me ayudó :S)
·Auto completar no funciona como querría que funcionara. Lo que quiero hacer es:

Que si escribo una palabra, se sustituya por otra, o la otra se escriba unos huecos más abajo.

Mi procedimiento de auto completar:

Código Delphi [-]
Procedure autocompletar(Memo: TMemo; leer: string; separacion: integer; sustituir: string);
begin
if form1.CheckBox1.Checked then begin // Este if funciona.
With Memo do begin
  posac:=caretpos.y;
  if uppercase(lines.strings[caretpos.y]) = uppercase(leer) then begin
    if separacion <> 0 then begin
      for n:=1 to separacion do Sustituir:=#13#10+Sustituir;
    SelText:=sustituir;
    end
    else begin
    lines.strings[caretpos.y]:=sustituir
    end;
  end;
end;
end;
setmemoposition(memo, memo.selstart,0)
end;

Para llamar a auto completar:
Código Delphi [-]
AutoCompletar(memo1,'If ',2,'EndIf'); // Escribe 2 lineas debajo EndIf cuando escribo If 
AutoCompletar(memo1,'[it',0,'[ItemDef  ]');//Sustituye [it por [ItemDef  ]

El problema es que cuando escribo If se me baja a endif en vez de volver a su sitio anterior. Y cuando vuelvo manualmente se vuelve loco el auto completar. El procedimiento de SetMemoPosition:

Código Delphi [-]
Procedure SetMemoPosition(Memo: TMemo; Col, Line: Integer);
var
i, Cuenta: Integer;
begin
with Memo do begin
LockWindowUpdate(Handle);
Cuenta:=0;
if Line<=Lines.Count then
  begin
  i:=0;
  While ido
    begin
    Inc(Cuenta,2+Length(Lines[i]));
    Inc( i);
    Perform(EM_SCROLL,SB_LINEDOWN,0);
    end;
  If Col<=Length(Lines[i]) then
    begin
    Inc(Cuenta,Col);
    SelStart:=Cuenta;
    end;
  end;
LockWindowUpdate( 0);
Refresh;
end; //with Memo do
end;

También tengo problemas con un procedimiento que se supone que tiene que escribir al final de todo lo escrito [EOF]. El procedimiento:

Código Delphi [-]
procedure EndOfFileAutomatico(memo: TMemo; right: boolean);
var
  posicionAnt: integer;
begin
if right then begin
if UpperCase(memo.Lines.Strings[memo.Lines.count + 1]) <> '[EOF]' then begin
    posicionant:=memo.CaretPos.y;
    memo.lines.strings[memo.lines.count]:='[EOF]';
    setmemoposition(memo, memo.selstart, posicionant)
end;
end;
end;

Para llamar al procedimiento:

Código Delphi [-]
EndOfFileAutomatico(memo1,checkbox1.Checked);

Muchísimas gracias de antemano.

Última edición por rauros fecha: 09-03-2008 a las 12:58:32.
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
componente editor de texto clanmilano Varios 1 23-01-2006 15:41:37
necesito editor de texto.... User_baja1 Varios 4 21-03-2005 11:53:30
Editor de Texto kael Varios 1 02-11-2004 18:18:42
Editor Texto Richedit cesar_picazo Varios 1 27-04-2004 18:34:59
Editor que resalte texto igest2000 Varios 0 10-12-2003 16:23:21


La franja horaria es GMT +2. Ahora son las 08:54:05.


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