Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   De clipper a Delphi... (https://www.clubdelphi.com/foros/showthread.php?t=9412)

JorgeBec 22-04-2004 19:06:59

De clipper a Delphi...
 
Creo que la pregunta es sencila, tenemos dentro de la empresa aplicaciones en Clipper que tienen caracteristica que cuando cierran las tablas xbase, le ponen una seguridad al header y cuando las abren le quitan la seguridad, el codigo clipper para quitar la seguridad es el que sigue


nHandle:= FOPEN( ("I:\carbel\copera\sia\insumos.dbf"), FO_READWRITE + FO_SHARED )
FWRITE( nHandle, CHR(03))
FCLOSE( nHandle )


y la pregunta es como lo cambio a delphi...agradecere sus respuestas...

guillotmarc 22-04-2004 19:15:19

Hola.

FOPEN, FWRITE y FCLOSE en Delphi són FileOpen, FileWrite y FileClose respectivamente. La sintaxis es practicamente la misma que en Clipper (lógico ya que en ambos casos se pasan directamente los parámetros a la misma función del API de Windows).

En la ayuda de Delphi encontrarás su sintaxis exacta, y ejemplos de utilización de estas funciones.

Saludos.

delphi.com.ar 22-04-2004 19:16:21

Yo te recomiendo usar un TFileStream, o ir directamente a las funciones mas similares a esas: FileOpen, FileWrite y FileClose

Saludos!

JorgeBec 22-04-2004 20:01:55

De hecho ya lo intente hacer, pero como el Filewrite lleva 3 parametros, me marca un error de Variable required...que le debo poner??? les dejo el codigo que hice...


FileHandle := FileOpen('I:\carbel\copera\sia\insumos.dbf', fmShareDenyNone);
FileWrite(FileHandle,Chr(03)); <<< aqui me manda el error
FileClose(FileHandle);


agradecere sus respuestas...

delphi.com.ar 22-04-2004 20:05:59

El tercer parámetro es el tamaño del Buffer que pasas en el segundo parámetro. Para dudas sencillas te recomiendo usar la ayuda de delphi que es muy completa tiene muchos ejemplos.

Saludos!

marcoszorrilla 22-04-2004 21:55:17

Por si acaso aquí tienes otra opción:

Código:

procedure TForm1.Button1Click(Sender: TObject);
Var
f: File of byte;
z:Byte;
begin
  z:=1;
  AssignFile(F,'d:\Dbase\Datos\Destino.dbf');
  Reset(f);
  try
    Seek(f,1);
    Write(f,z)
  finally
  CloseFile(f);
  end;
end;

Un Saludo.

JorgeBec 22-04-2004 22:15:24

Gracias por sus respuestas, un comentario con respecto a lo que me comenta el compañero delphi.com.ar, cuando escribo al foro es cuando de veras ya le busque, yo se que a veces son cosas sencillas, pero precisamente algo que le podria criticar a delphi es a veces su pobre ayuda, al menos en Delphi 4 que es lo que manejo por ejemplo la funcion FileWrite en la ayuda NO trae ningun ejemplo...de nuevo gracias, probare sus respuestas...

jachguate 22-04-2004 22:21:48

Sni embargo la ayuda no es tan pobre... aunque ciertamente carece de ejemplos, es, para mi gusto, bastante clara.

Cita:

Empezado por delphi 4 help
FileWrite is an internal routine for writing to files.
...
function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer;

Description

The FileWrite function writes Count bytes to the file given by Handle from the buffer specified by Buffer. The return value is the number of bytes actually written, or -1 if an error occurred.

Use of non-native Pascal file variable handlers such as FileWrite is discouraged. For more information on which file handling routines to use, see FileOpen.

Hasta luego.

;)

marcoszorrilla 22-04-2004 22:28:14

Respecto a la ayuda yo estoy en la misma línea de JorgeBec, la documentación no está mal, pero escasean los ejemplos y a un programador le damos un ejemplo y probablemente casi le sobren las explicaciones.

A veces es desesperante el tiempo que se puede perder por culpa de la falta de ejemplos yo algunas a veces he estado a punto de escribir en estos foros que la tecla F1 en español es el Foro Club Delphi.

Un Saludo.

roman 22-04-2004 22:33:03

Nunca me había detenido a pensar en esto pero ahora recuerdo que en alguna versión de Delphi tenía la misma molestia general en cuanto a los ejemplos pero eso ha cambiado. Creo que a partir de la versión 6 se ha mejorado bastante. Ahora, al menos, la función FileWrite sí trae ejemplo.

Actualmente lo que me exaspera es el sistema en sí de ayuda. Con mucha frecuencia se pierden las referencias y ya no encuentra nada hasta no reiniciar el IDE.

// Saludos

delphi.com.ar 22-04-2004 22:37:54

Cita:

Empezado por JorgeBec
algo que le podria criticar a delphi es a veces su pobre ayuda, al menos en Delphi 4...

¿Me creerías si te digo que yo aprendí a usar este lenguaje solo con la ayuda?


Cita:

Empezado por JorgeBec
Actualmente lo que me exaspera es el sistema en sí de ayuda. Con mucha frecuencia se pierden las referencias y ya no encuentra nada hasta no reiniciar el IDE.

La verdad que no me sucede eso, y eso que tengo varias instalaciones de Delphi y en diferentes equipos. Por lo que respecta al formato de la ayuda me parece várbaro, y espero que nunca migren a CHM

Saludos!

jachguate 22-04-2004 22:44:17

Cita:

Empezado por delphi.com.ar
¿Me creerías si te digo que yo aprendí a usar este lenguaje solo con la ayuda?

Bueno, yo me he leido un par de docenas de libros también... pero la ayuda (desde mis principios en Turbo Pascal) me ha parecido siempre fenomenal y ha sido fuente de muchos de mis conocimientos.

Cita:

Empezado por delphi.com.ar
espero que nunca migren a CHM

Ya somos dos... creo que borland sabe que seria desastroso... por eso no lo ha hecho, aunque habrá que ver que tanto pesan los $$$ de microsoft sobre este tipo de decisiones, que al menos hasta d7 siempre fueron sensatas....

Hasta luego.

;)

roman 22-04-2004 22:46:10

Esteee, lo último lo dije yo. Y no sé por qué me pasa. De pronto en muchos enlaces doy click y me dice que no encuentra el archivo de ayuda cuando minutos antes el mismo enlace funcionaba bien.

Otra cosa que me pasa aparte de la ayuda es que en ocasiones dejan de funcionar algunas teclas como la llave }

Y ya nada más para terminar de qujarme :D también menciono que cuando experimento con las OpenTools Api me aparece el infame "Internal error" sin siquiera estar instalando nada, sólo por poner el cursor sobre algún símbolo.

Pero como no todo es queja he de decir que igualmente yo aprendí con la ayuda de Delphi primeramente y posteriormente buscando en Internet cuando ya requerí cosas más avanzadas.

// Saludos

roman 22-04-2004 22:48:33

Ahhh... los libros...

Bueno, salvo casos muy específicos nunca saco nada de ellos. Por lo general lo que necesito y viene en alguno de ellos también lo encuentro en Internet.

// Saludos

marcoszorrilla 22-04-2004 22:53:51

Pues yo no cambio un buen libro sobretodo escrito por Ian Marteens, aunque en el futuro parece que no seguirá en el oráculo, por Todo Internet, por ejemplo dentro de unos minutos me iré a la cama y en la mesilla siempre tengo 3 ó 4 libros.

Me encantan las bibliotecas, aunque sean de enlace dinámico.

Un Saludo.

jachguate 22-04-2004 23:05:19

Pues la verdad, sobre delphi, a mi me gustan mas los libros de Marco Cantú, sin despreciar el trabajo de Ian Marteens, que me parece excelente.


La franja horaria es GMT +2. Ahora son las 13:06:01.

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