Delphi

Necesito saber por favor, como reparar mi programita. Antes quiero que sepas que no he estudiado programación, pero leyendo he podido avanzar hasta acá.
Mi programa es un editor de texto, en el cual tengo los siguientes problemas:
1.- Cuando guarda un documento, no lo guarda con extensión. Lo guarda como archivo desconocido para windows. Y cuando en el mismo cuadro de dialogo le pones la extensión, lo guarda. Pero cuando quieres abrirlo en otro editor de texto como el bloc de notas, sale algo así: (solo escribí mama)
{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fcharset1 MS Sans Serif;}}
{\colortbl\red0\green0\blue0;}
\deflang1034\pard\plain\f2\fs16 mama
\par }
Y si lo abres en el mismo programa, o sea el editor que yo estoy haciendo, si sale mama solo.
2.- No logro que mi programa se de cuenta cuando se realizan cambios en el TRichEdit, siempre pide cambiar los cambios, aquí esta el fuente de "ABRIR" por ejemplo...
procedure TMainForm.FileOpen(Sender: TObject);
var
button : integer;
begin
if OpenDialog.Execute then
begin
if richedit1.modified then
begin
button:= application.messagebox('¿Quieres Guardar Los Cambios?', '¿Guardar?', mb_yesno + mb_iconinformation);
if button = IDYes then
begin
if savedialog.execute then
begin
richedit1.lines.savetofile (Savedialog.filename);
begin
RichEdit1.Lines.LoadFromFile (Opendialog.Filename);
end;
end;
end
else
RichEdit1.Lines.LoadFromFile (Opendialog.Filename);
end
else
RichEdit1.Lines.LoadFromFile (Opendialog.Filename);
end;
end;
Ayúdeme por favor, Mi Delphi es version 4.
1

1 respuesta

Respuesta
1
Respecto al primer problema que me comentas comprueba que has colocado la extensión que deseas en la propiedad DefaultExt del componente SaveDialog. Lo que te sale cuando lo abres con otro editor es la cabecera del fichero ya que al no reconocer la extensión no puede leerlo. Y respecto al segundo problema hay un pequeño truco en programación que te puede ayudar, te explico:
define una variable global tipo boolean e inicializala a false.
Crea el evento RichEditChange(Sender: TObject)y coloca la variable a true. Con esto se consigue que la variable tenga el valor de cambio o sin cambio.
Cuando guardes comprueba el valor de esta variable y realiza una cosa u otra según sea true o false. Vuelve a poner la variable a false en caso de que sea true antes de guardar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas