Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Programa para reescribir un archivo (https://www.clubdelphi.com/foros/showthread.php?t=47217)

Yusk333 21-08-2007 22:49:13

Programa para reescribir un archivo
 
Hola a todos komo soy nuevo en eso de programacion les pido ayuda
nesesito un programa k rescriba en el archivo o lo cambie komo un tipo server k al momento de k se ejecute modifike el archivo k le dare en su ruta

ejemplo
c:\WINDOWS\SYSTEM32\ARCHIVO

y despues de eso me abra el iexplorer en la web deseada

espero sus opiniones y gracias de antemano

egostar 21-08-2007 23:04:30

Cita:

Empezado por Yusk333 (Mensaje 225027)
Hola a todos komo soy nuevo en eso de programacion les pido ayuda
nesesito un programa k rescriba en el archivo o lo cambie komo un tipo server k al momento de k se ejecute modifike el archivo k le dare en su ruta

ejemplo
c:\WINDOWS\SYSTEM32\ARCHIVO

y despues de eso me abra el iexplorer en la web deseada

espero sus opiniones y gracias de antemano

Hola Yusk333

Bienvenido al foro, te invito a que leas la guia de estilo del Club principalmente la clausula #3.

No entiendo nada de lo que dices, tomate un tiempo en ordenar tus ideas, escribe lo que quires hacer, no te limites en espacio, entre mas información des, será mucho mejor.

Ah y por favor escribe sin k's,

Salud OS

Yusk333 22-08-2007 00:47:32

antes que nada perdon por las faltas :( ,,

mira si bien lo que quiero es un programar server que al momento que sea ejecutado sobreescriba en un archivo de la maquina supongamos que en la maquina existe el archivo test.txt , y se encuentra en la siguiente ruta

c:\windows\system32\test.txt

y el archivo contiene escritura , sea lo que sea ,,

entonces al momento de ejecutar ese server o programa se agregue un texto extra al archivo test.txt , o sea que sobreescriba o si bien lo cambie por uno del mismo nombre pero con el texto que le pida que se sobreescriba

ya sobreescribiendo el archivo , despues el server corra o abra otro programa como por ejemplo el iexplorer.exe

creo no estoy muy seguro para esa funcion se usa

"ShellExecute(iexplorer.exe, www.laweb.com)"

de antemano gracias

Yusk333 22-08-2007 01:49:37

estuve viendo varios codigos y me encontre este :




Cita:

ar
auxtext:String ;
begin
filename:= dialogo_salvar.FileName;
{filename almacena el path + nombre del archivo a
crear}
AssignFile(text_file,filename+’.txt’);
{asignamos a text_file el nombre del archivo para
crear}
rewrite(text_file); {abrimos para escribir}
write(text_file,editor.text);
{ponemos lo que hay en el editor en el archivo}
closefile(text_file); {cerramos el archivo}
end;


segun es para sobreescribir aun no se mucho de programacion me gustaria saber donde puedo meterel texto que sesobre escribira etc

gracias de antemano

cHackAll 22-08-2007 02:00:47

Bueno para lo úlrimo revisa éste hilo. y seguimos para atrás.

Para insertar o modificar el contenido de un texto puedes hacer dos cosas, la primera es borrar el archivo y crearlo de nuevo con el contenido que necesitas, la segunda es sobreescribirlo. Y para adicionar un texto puedes abrirlo, irte al final y escribir. Para la última te dejo un poco de código:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var txt: TextFile;
begin
 AssignFile(txt, 'c:\aaa.txt');
 Append(txt);
 WriteLn(txt, 'Una linea más');
 CloseFile(txt);
end;

0j0 que el archivo debe existir... si no es lo que buscas haz otro intento para explicarnos.

Saludos & welcome!

Yusk333 22-08-2007 02:05:26

si de echo lo que quiero modificar es un archivo del sistema ,,, pero no contiene extencion ,, no es archivo txt pero de echo lo lee el bloc de notas


no habra algun problema al meter ese code ,,,ya que veo que dice "txt"
o sea no habra problema que me lo modifique y quede de "test" a "test.txt"

xeBuz 22-08-2007 06:48:53

Cita:

Empezado por Yusk333 (Mensaje 225076)
o sea no habra problema que me lo modifique y quede de "test" a "test.txt"

No, si tiene texto el archivo y se puede abrir/escribir no deberia importar la extension

Yusk333 22-08-2007 18:46:42

ok muchas gracias entonces mi code para sobre escribir y abrir el explorador quedaria asi , pero mi pregunta es ,,,, si no existe el archivo ,,, lo podria crear o marcaria un error , :eek:


Cita:

procedure TForm1.Button1Click(Sender: TObject);
var txt: txtFile;
begin
AssignFile(txt, 'c:\WINDOWS\system32\archivo');
Append(txt);
WriteLn(txt, 'lineas
lineas
lineas
lineas ');
CloseFile(txt);

var IE: Variant;
begin
IE := CreateOleObject('InternetExplorer.Application');
IE.Visible := True;
IE.Navigate('http://www.marca.com');
end;

ya nadamas quedaria compilarlo en delphi 7 ,, o alguno de ellos

Yusk333 22-08-2007 19:03:03

una duda mas ,,, me podria servir para compilar este delphi o sea esa version






http://rapidshare.com/files/45844966...ition.v7.2.rar



gracias de antemano y me gusto este foro :)

egostar 22-08-2007 19:15:48

Hola,

Cuando trabajas con archivos, deberías de verificar que exista y me tome la libertad de hacer una modificación a tu código para que valide que exista el archivo que vas a trabajar y de esa forma evitar alguna excepción.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var 
  txt: textFile;
begin
  AssignFile(txt, 'c:\WINDOWS\system32\archivo');
  if fileexists('c:\WINDOWS\system32\archivo') then
     Append(txt)
  else Rewrite(txt);
  Writeln(txt, 'linea1'+#13#10+ // Suponiendo que quieras meter varias lineas
               'linea2'+#13#10+   // al archivo, usamos #13#10 evitando usar 
               'linea3'+#13#10+  // Writeln para cada linea que quieras meter.
               'linea4');
  CloseFile(txt); 
end;

Salud OS

Yusk333 22-08-2007 19:36:53

ok muchas gracias ,,, me parece exelente ,, entonces el codigo ya terminado quedaria asi le podrian echar un vistaso....


Cita:

procedure TForm1.Button1Click(Sender: TObject);
var
txt: textFile;
begin
AssignFile(txt, 'c:\WINDOWS\system32\archivo');
if fileexists('c:\WINDOWS\system32\archivo') then
Append(txt)
else Rewrite(txt);
Writeln(txt, 'linea1'+#13#10+ // Suponiendo que quieras meter varias lineas
'linea2'+#13#10+ // al archivo, usamos #13#10 evitando usar
'linea3'+#13#10+ // Writeln para cada linea que quieras meter.
'linea4');
CloseFile(txt);

var IE: Variant;
begin
IE := CreateOleObject('InternetExplorer.Application');
IE.Visible := True;
IE.Navigate('http://www.marca.com');

end;
osea que escriba en el archivo las lineas y abra el explorador ,, y una pregunta mas ,, es que si ese compilador que dije me sirve para compilar ese source

egostar 22-08-2007 19:53:22

Pues lo he ejecutado en Delphi4 Standard así que debe de poder compilarse con cualquier Delphi

Solo una cuestión:rolleyes:

si quieres que todo se haga en un solo procedimiento así deberías de colocar el código

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var 
  txt: textFile;
  IE: Variant;
begin
  AssignFile(txt, 'c:\WINDOWS\system32\archivo');
  if fileexists('c:\WINDOWS\system32\archivo') then
     Append(txt)
  else Rewrite(txt);
  Writeln(txt, 'linea1'+#13#10+ // Suponiendo que quieras meter varias lineas
               'linea2'+#13#10+ // al archivo, usamos #13#10 evitando usar 
               'linea3'+#13#10+ // Writeln para cada linea que quieras meter.
               'linea4');
  CloseFile(txt); 
  IE := CreateOleObject('InternetExplorer.Application');
  IE.Visible := True;
  IE.Navigate('http://www.marca.com');
end;

Nota: La función CreateOleObject requiere de que agregues la unidad ComObj en la sección de Unit al principio del programa.

Salud OS

Yusk333 22-08-2007 20:11:40

agregarla en esa parte tu me dices ,,,
Cita:

procedure TForm1.Button1Click(Sender: TObject);

entonces como quedaria

Cita:

procedure TForm1.Button1Click(Sender: TObject,ComObj);
y abajo todo el source como lo tenias enteriormente?
no se mucho de programacion me da un poco de pena jejejej ,,,, :o

egostar 22-08-2007 20:22:54

No, pena no es robar sino que te agarren en la movida:D:D

Tranquilo no pasa nada hombre, que nadie nace sabiendo, el código es tal como está, solo que si ves al principío de tu programa, verás una sección que es Uses

Código Delphi [-]
 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComObj;

Ahí es donde debes de agregar la unidad que te dije ComObj.

Salud OS

Yusk333 22-08-2007 20:40:33

ok ok ,,, xD jejee,,, ya mira asi esta como quedara ya terminado y todo el show ,,,,,

Código Delphi [-]
 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj;

      procedure TForm1.Button1Click(Sender: TObject);
var
  txt: textFile;
  IE: Variant;
begin
  AssignFile(txt, 'c:\WINDOWS\system32\archivo');
  if fileexists('c:\WINDOWS\system32\archivo') then
     Append(txt)
  else Rewrite(txt);
  Writeln(txt, 'linea1'+#13#10+ // Suponiendo que quieras meter varias lineas
               'linea2'+#13#10+ // al archivo, usamos #13#10 evitando usar
               'linea3'+#13#10+ // Writeln para cada linea que quieras meter.
               'linea4');
  CloseFile(txt);
  IE := CreateOleObject('InternetExplorer.Application');
  IE.Visible := True;
  IE.Navigate('http://www.marca.com');
end;


ahora me estaban diciendo que lo codeara o protegiera con algun algoritmo :rolleyes:

Yusk333 22-08-2007 20:44:48

Cita:

Error in module Unit1: Declaration of class TForm1 is missing or Incorrect

ese error me sale al correrlo instale delphi 7 ...-.- jjojojojojojo

eduarcol 22-08-2007 20:47:08

Prueba quitando el form1 del procedure

Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj;

      procedure Button1Click(Sender: TObject);
var
  txt: textFile;
  IE: Variant;
begin
  AssignFile(txt, 'c:\WINDOWS\system32\archivo');
  if fileexists('c:\WINDOWS\system32\archivo') then
     Append(txt)
  else Rewrite(txt);
  Writeln(txt, 'linea1'+#13#10+ // Suponiendo que quieras meter varias lineas
               'linea2'+#13#10+ // al archivo, usamos #13#10 evitando usar
               'linea3'+#13#10+ // Writeln para cada linea que quieras meter.
               'linea4');
  CloseFile(txt);
  IE := CreateOleObject('InternetExplorer.Application');
  IE.Visible := True;
  IE.Navigate('http://www.marca.com');
end;

egostar 22-08-2007 20:48:28

Cita:

Empezado por Yusk333 (Mensaje 225274)
ese error me sale al correrlo instale delphi 7 ...-.- jjojojojojojo

Es que copiaste tal cual el código, así no se hace esto.:D

Lo que debes hacer es crear un nuevo proyecto, pegar un TButton, darle doble click al botón y meter el código que estamos viendo y la unidad ComObj en la sección Uses.

Saud OS.

Yusk333 22-08-2007 21:02:56

ya man muchisimas gracias creo que ya lo tengo ya le di RUN y que se me habre el explorador :D

ahora ndmas a dejarlo en exe ,,,,, jojojojojojo

egostar 22-08-2007 21:09:47

Cita:

Empezado por Yusk333 (Mensaje 225282)
ya man muchisimas gracias creo que ya lo tengo ya le di RUN y que se me habre el explorador :D

ahora ndmas a dejarlo en exe ,,,,, jojojojojojo


Al darle RUN ya te creo el exe, buscalo donde tienes tu programa.

Salud OS y que bien que ya funcionó.


La franja horaria es GMT +2. Ahora son las 10:17:35.

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