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 27-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Creo que existe un error en el código de dec y es:

Código Delphi [-]
begin  
  if SaveDialog1.Execute then
    RichEdit1.Lines.SaveToFile(SaveDialog1.FileName)
end;

Ahora, te recomiendo mucho que no solo hagas copiar y pegar, trata de entender el código que se te proporciona antes de usarlo...


Saludos...
Responder Con Cita
  #2  
Antiguo 27-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Eso es lo que hago siempre ... El problema es que yo no tengo ni idea de que iba por en medio la parte line...
Responder Con Cita
  #3  
Antiguo 27-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
{\rtf1\ansi\ansicpg1252\deff0\deflang3082{\fonttbl{\f0\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs16
\par }

Vale. Si lo pongo en blanco aparece eso. ¿Se puede hacer que no salga?
Responder Con Cita
  #4  
Antiguo 27-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hello,

Me disculpo por el error.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 27-02-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. Ahora necesito saber como cambiar entre forms. He probado con application.form2.visible:=true pero no funciona. ¿Alguna ayuda?

Nota: Ayudadme también con lo arriba expuesto.
Responder Con Cita
  #6  
Antiguo 27-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Código Delphi [-]
Form2.Show;
Form2.BringToFront;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 27-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Hola.

Veamos, si utilizas un RichEdit, el texto con que trabajarás será texto enriquecido, es decir, que le puedes poner negritas, cursivas, distintos tamaños, colores y resaltados... por eso cuando "lo ponías en blanco" te salían esos carácteres extraños, ¿por casualidad abriste el archivo con Bloc de notas?

Te recomiendo que empieces por lo muy sencillo, texto plano, sin formato, con un TMemo.

El componente lleva automatizado prácticamente todo: escribir en él (con sus enters, Ctrl + C, Ctrl + V... Ctrl + Right... Av. Pág.... todo). Creo que le falta lo de cambiar Insert por Overwrite (insertar-sobreescribir), pero no es muy difícil de implementar. De todas formas, eso para después

El texto que se escribe en el TMemo se guarda en su propiedad Lines, de tipo TStrings. Con este tipo puedes abrir y guardas los archivos te texto. OpenDialog y SaveDialog sólo sirven para mostrar el diálogo de abrir/guardar, y darte el nombre del archivo seleccionado (propiedad FileName), nada más.

Seguro que quieres poner un menú. Utiliza TMainMenu. Nada más colocarlo te aparece (al igual que con TOpenDialog y TSaveDialog) un "cuadradito" en el form. Es porque es un componente no visual. Si le haces doble clic, aparecerá otra ventana, donde podrás diseñar el menú del programa. En cada item nuevo de menú, puedes asociar a su propiedad ShortCut, un atajo de teclado (Ctrl + A para abrir, por ejemplo). Sólo tienen un evento, OnClick, así que no tienen pérdida (ten cuidado, en los menús de la barra, el sólo darles el foco con ratón o teclado una vez el menú está activo, hace que el evento OnClick se ejecute).

Para cambiar la fuente, tienes TFontDialog. Muestra el típico diálogo de cambiar fuente, y la fuente elejida se guarda en su propiedad Font.


Esto es lo principal que necesitas saber. Después te podremos ayudar a añadir cosas para hacer tu programa más funcional, como que recuerde la fuente con que se usó, colocarle una barra de estado, una barra de herramientas... todo lo que se te pueda ocurrir.

Investiga todos estos componenetes que te he nombrado en la ayuda de Delphi. Pero a fondo, con diccionario de inglés en mano. Y si hay una propiedad o método que no entiendas, pues pásate por aquí para preguntar (pero recuerda hacer antes una búsqueda, tanto en los foros como en Google u otro buscador).


Salu2
Responder Con Cita
  #8  
Antiguo 27-02-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. Lo único que no sabía era lo del richedit que ahora que lo pienso en castellano es texto enriquecido (uuu soy casi superdotado xD). Lo he cambiado por Tmemo, y menú yo ya tenía. Ahora voy a por un toolbar. Así que mi siguiente pregunta es donde puedo encontrar fotitos chorras de esas que salen como copiar, pegar, imprimir etc... Le he puesto un popup también al memo con algo muy simple. Y si editas el texto y te sales sin guardar te pregunta si quieres guardar o no. Otra pregunta que tengo es como parar el proceso de cerrado de una aplicación. Gracias de antemano.
Responder Con Cita
  #9  
Antiguo 27-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 19
rauros Va por buen camino
Bueno, como me voy a madrugar ya os pongo el código que tengo hasta ahora.

·Program:

Código Delphi [-]
program edittxt;

uses
  Forms,
  editortextos in 'editortextos.pas' {Form1},
  guardar in 'guardar.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

·Unidad prinicipal:

Código Delphi [-]
unit editortextos;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Menus, ToolWin;

type
  TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    SaveDialog1: TSaveDialog;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    Guardar1: TMenuItem;
    PopupMenu1: TPopupMenu;
    Copiar1: TMenuItem;
    Pegar1: TMenuItem;
    N2: TMenuItem;
    Exit1: TMenuItem;
    Salir1: TMenuItem;
    ToolBar1: TToolBar;
    Memo1: TMemo;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    procedure FormResize(Sender: TObject; var NewWidth, NewHeight: Integer;
      var Resize: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Guardar1Click(Sender: TObject);
    procedure Copiar1Click(Sender: TObject);
    procedure Pegar1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure Salir1Click(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cambiado: boolean;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
//RichEdit.Width:=form1.Width - 9 ;
//RichEdit.Height:=form1.height - 73
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if cambiado = true then
Form2.Show;
Form2.BringToFront;
exit;
  //if SaveDialog1.Execute then begin
  //memo1.Lines.SaveToFile(SaveDialog1.FileName);
  //end;
end;

procedure TForm1.Guardar1Click(Sender: TObject);
begin
begin  
  if SaveDialog1.Execute then
  memo1.Lines.SaveToFile(SaveDialog1.FileName);
  cambiado:=false
  end;
end;

procedure TForm1.Copiar1Click(Sender: TObject);
begin
memo1.CopyToClipboard;
end;

procedure TForm1.Pegar1Click(Sender: TObject);
begin
memo1.PasteFromClipboard;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
Halt;
end;

procedure TForm1.Salir1Click(Sender: TObject);
begin
halt;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
cambiado:=true
end;

end.

·Unidad de guardado de seguridad:

Código Delphi [-]
unit guardar;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
if SaveDialog1.Execute then begin
memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
halt;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
Form1.Show;
Form1.BringToFront;
end;

end.

·Unidad gráfica principal.

Código Delphi [-]
object Form1: TForm1
  Left = 349
  Top = 306
  Width = 676
  Height = 426
  Caption = 'Editor de texto'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Menu = MainMenu1
  OldCreateOrder = False
  OnCanResize = FormResize
  OnClose = FormClose
  PixelsPerInch = 96
  TextHeight = 13
  object StatusBar1: TStatusBar
    Left = 0
    Top = 394
    Width = 651
    Height = 19
    Panels = <
      item
        Width = 50
      end
      item
        Text = 'Escribe arriba lo que desees.'
        Width = 50
      end>
  end
  object ToolBar1: TToolBar
    Left = 0
    Top = 0
    Width = 651
    Height = 25
    ButtonWidth = 25
    Caption = 'ToolBar1'
    TabOrder = 1
    object ToolButton1: TToolButton
      Left = 0
      Top = 2
      Width = 8
      Caption = 'ToolButton1'
      Style = tbsSeparator
    end
    object ToolButton2: TToolButton
      Left = 8
      Top = 2
      Caption = 'ToolButton2'
    end
  end
  object Memo1: TMemo
    Left = 0
    Top = 25
    Width = 651
    Height = 353
    Align = alTop
    Lines.Strings = (
      '')
    PopupMenu = PopupMenu1
    TabOrder = 2
    OnChange = Memo1Change
  end
  object SaveDialog1: TSaveDialog
    DefaultExt = 'txt'
    FileName = 'prueba'
    Filter = 'Archivos de texto|*.txt|Scripts|*.scp'
    Left = 32
    Top = 40
  end
  object MainMenu1: TMainMenu
    Left = 64
    Top = 40
    object N1: TMenuItem
      Caption = 'Archivo'
      Default = True
      object Guardar1: TMenuItem
        Caption = 'Guardar'
        OnClick = Guardar1Click
      end
      object Salir1: TMenuItem
        Caption = 'Salir'
        OnClick = Salir1Click
      end
    end
  end
  object PopupMenu1: TPopupMenu
    Left = 96
    Top = 40
    object Copiar1: TMenuItem
      Caption = 'Copiar'
      OnClick = Copiar1Click
    end
    object Pegar1: TMenuItem
      Caption = 'Pegar'
      OnClick = Pegar1Click
    end
    object N2: TMenuItem
      Caption = '________'
    end
    object Exit1: TMenuItem
      Caption = 'Salir'
      OnClick = Exit1Click
    end
  end
end

·Unidad gráfica de guardado de seguridad:

Código Delphi [-]
object Form2: TForm2
  Left = 534
  Top = 286
  Width = 245
  Height = 139
  Caption = '¡Atencion!'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 56
    Top = 16
    Width = 124
    Height = 13
    Caption = '¿Deseas guardar el texto?'
  end
  object Button1: TButton
    Left = 40
    Top = 40
    Width = 75
    Height = 25
    Caption = 'Si'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 120
    Top = 40
    Width = 75
    Height = 25
    Caption = 'No'
    TabOrder = 1
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 80
    Top = 72
    Width = 75
    Height = 25
    Caption = 'Cancelar'
    TabOrder = 2
    OnClick = Button3Click
  end
end
Responder Con Cita
  #10  
Antiguo 27-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
El Memo ya tiene su propio menú de sistema. Sólo es conveniente cambiarlo si puedes añadir más cosas.

¿Fotitos chorras? En el CD Delphi Pack 1 venían un montón... pero ya no sé qué fue de eso

¿Parar el proceso de cerrado? ¿Te refieres a que al darle a la "x" de cerrar, o pulsar Alt + F4, o llamar al método Close; no se cierre el programa? En en evento OnCloseQuery del Form principal, pon CanClose:=False; pero ten en cuenta que debes poner alguna condición, sino sólo podrás salir con Application.Terminate; o con Halt;


Salu2
Responder Con Cita
  #11  
Antiguo 05-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
Muchas gracias por toda toda y toda la ayuda, me ha servido siempre. Cambiando de tema, empecemos ya con el código coloreado, creo que todo lo demás ya lo tengo muy visto (he añadido un sistema con claves de registro para que el programa se abra en el mismo sitio que en el que se cierra). He cogido los ejemplos pero veo que son muy complejos y que faltan algunos .dcu . Y lo que quiero es saber como se colorea, lo más simple posible. Puesto que voy a coger uno de los dos ejemplos y me voy a liar antes de encontrar la solución.
Preguntas:

·¿Qué objeto debo usar?
·¿Con este objeto puedo guardar en texto simple (.txt)?
Responder Con Cita
  #12  
Antiguo 06-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. Se que necesito UniSynEdit o algo parecido (gracias IxMike). ¿Cómo puedo instalar el package del SynEdit? He estado buscando sobre el tema pero he encontrado poco y lo poco que he encontrado era inservible. Gracias de antemano a tod@s.
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 13:42:04.


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