• Jueves 25 de Abril de 2024, 08:37

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Mapi

Páginas: [1]
1
Pascal / Re: Error 160
« en: Jueves 7 de Abril de 2005, 22:42 »
Gracias, tenias razon no me dejaba crear el aux.txt pero con otro nombre si se puede.

2
Pascal / Re: Error 160
« en: Jueves 7 de Abril de 2005, 05:36 »
Es un poco dificil de explicar si no mas cuando me dieron la hoja en el laboratorio me demore como media hora en entenderlo. Se supone que es un programa que descomprension, pero la parte que yo estoy haciendo es el de la obtencion de datos.
Lo voy a intentar con un ejemplo:

Lo que me tiene que salir en archdat es:

2       {El numero de campos que yo ingrese}
67     {codigo asscii de la letra C, en caso de que tip sea C}
3       {numero de bits que se utilizaran para la cadena}
73     {codigo asscii de la letra I, en caso de que tip sea I}
7       {el numero de bits que va a ocupar el numero}

en el archivo auxiliar lo que me tiene que salir son los datos que yo ingrese:
156
200
75
{todos tienen que ser de tipo byte}

Esa es la parte que muestro en el codigo que tengo y que no se ejecuta bien, solo quiero que los datos salgan en los archivos de texto pero al ingresar los datos en el auxiliar me sale el error que mencione antes. Error 160:Device write Default.


No creo que importe pero lo que tengo que hace despues es (lo voy a explicar con el ejemplo):
- El primer valor de tip es C y el numero de bits a utilizar es 3, de los 8 bits que tiene el numero 156 agarro 3 y agregandole 5 ceros a la derecha formo un caracter.
- El segundo valor de tip es I, y 7 es el numero que es el numero de bits que voy a agarrar de los datos, entonces tomaba 5 bits que me sobraban del 156 y agarraba otros dos bits del 200 y los ponia a la izquierda y luego le agragaba un cero a la izquierda formando un numero.

3
Pascal / Error 160
« en: Miércoles 6 de Abril de 2005, 19:18 »
Estaba haciendo una parte de un programa que me habian tomado en mi laboratorio de ayer. Cuando la compile todo normal, pero luego cuando la ejecute me salio error 160 : Device write fault. Alguien sabe que significa, aqui pongo parte de mi codigo por seaca:

Program Lab1;
var
    archDat:text; archaux:text;
    numcamp,i,long,dato,NumDat:byte; tip:char;

begin
   assign(archdat,'datos.txt');
   assign(archaux,'aux.txt');
   rewrite(archdat); rewrite(archaux);
   write('Ingrese el numero de campos :');
   readln(NumCamp);
   If numcamp>0 then
   begin
     writeln(archdat,numcamp);
     for i:=1 to NumCamp do
     begin
       writeln('Ingrese el tipo de dato ,i,: ');
       readln(tip);
       If Upcase(tip)=upcase('C') then
       begin
         write('Ingrese el tamano de la cadena: ');
         readln(long);
         writeln(archdat,ord(upcase('C')));
         writeln(archdat,long);
       end;
       If upcase(tip)=upcase('I') then
       begin
         write('Ingrese el numero de bits :');
         readln(long);
         writeln(archdat,ord(upcase('I')));
         writeln(archdat,long);
       end;
     end;
   end
   else
     writeln('El numero de campos tiene que ser menor que cero');
   writeln('Ingrese el numero de datos');
   readln(NumDat);
   writeln('Empiece a ingresar los datos');
   for i:=1 to numDat do
   begin
     readln(Dato);
     writeln(archaux,Dato); { CUANDO SE EJECUTA ESTA INSTRUCCION SALE EL ERROR}
   end;
   close(archdat); close(archaux);
end.

4
Pascal / Ayuda
« en: Viernes 25 de Marzo de 2005, 18:40 »
Tengo un problema con la funcion shl,

var n:byte;
begin
   n:=150 shl 1;  {solo me acepta hasta 127}
end;

cuando corro el programa me sale error, no entiendo por que se supone que cuando el numero corre un bit a la izquierda este se pierde y no hay problema. cuando a n lo pongo como integer me sale que el resultado es 300(100101100), pero el resultado que yo espero es 44(00101100) y por eso lo declaro como byte.

Páginas: [1]