Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

abajo

Pregunta a pascalschik ??? Encontrar ramas similares


Art   (2001-12-18 17:19) [0]

El compilador da el error Variable Indefinido esperado, y apunta a un lugar en el programa donde se multiplican dos constantes "¿Qué es lo que pasa?"



Владислав   (2001-12-18 17:20) [1]

Variable indefinido esperado: identificador de variable esperado.

Sacar conclusiones.

Dar el código.



Art   (2001-12-18 17:23) [2]

System.Move (grecFixedDiskBoot, gsTempInput [1], aMaxTpStrLen);
gsTempInput [0]: = System.Char (aMaxTpStrLen);
IF (System.Pos (asCopyrightNotice, gsTempInput) <> 0)
Entonces comience
System.WriteLn (asProgramPrompt + asProgram +
"el cargador se encuentra en el disco fijo 0.");
System.Write (asProgramPrompt +
"Copiar cadenas de descripción de la copia instalada (S / N):");
System.ReadLn (gsTempInput);

IF (System.UpCase (_fnchGetFirstChar (gsTempInput)) <> achNo)
Entonces comience
System.WriteLn (asProgramPrompt + "Copiar cadenas de descripción");
System.Move (System.Mem [System.Seg (grecFixedDiskBoot.dbReservedCode):
(System.Ofs (grecFixedDiskBoot.dbReservedCode) + aOS_Desc_Start)],
("Esto convierte las constantes aquí) aOS_Desc_Str_Len_Ext * aMaxAvailLogicalPartition);
FIN;
{si-entonces}
FIN
ELSE
System.WriteLn (asProgramPrompt + asProgram + "loader not present.");
{si-entonces}



Владислав   (2001-12-18 17:26) [3]

Declara una variable. Dale un significado. Pasar en el procedimiento.
Lo más probable es que el procedimiento espere un parámetro por referencia y usted pase por valor.



MBo   (2001-12-18 18:40) [4]

¿Necesitas un colon allí?



Иван Шихалев   (2001-12-18 18:52) [5]

¿Qué diablos es el colon? Tomamos un libro de texto para las clases junior y comenzamos a descubrir la diferencia entre los valores de los parámetros y las variables de los parámetros. Todavía es útil consultar la ayuda y averiguar cuáles son los parámetros del procedimiento. Mover y cuantos de ellos



Anatoly Podgoretsky   (2001-12-18 20:06) [6]

Me parece que el problema está aquí.
"(" Esto llama constantes aquí) "es esta variable? y donde esta la coma entonces?
Y ya que la sintaxis es por lo demás correcta.
Indique el código de llamada exacto y la declaración de variable utilizada en el procedimiento de traslado.



Art   (2001-12-18 20:22) [7]

Chicos, ya torturados, ahora mismo les daré todo el código!



Art   (2001-12-18 20:29) [8]

{* ========================== PIEZAS CONSTANTES ==================== ======== *}

CONST

{definiciones de programa}
asPurpose = "OS-MultBoot";
asVersion = "1.30";
asAuthor = "Dima Stefankov";
asCopyright = "Copyright (c) 1987, 1993";
asProgram = "OS-Boot";
asProgramPrompt = asProgram + ":";

{códigos de salida}
errTerminateOK = 0;
errBootStrapDebug = 1;
errBadReadFixedDisk = 2;
errBadWriteFixedDisk = 3;
errUserInstallAbort = 4;
errUserWriteAbort = 5;
errMismatchLoaderCode = 6;

{misceláneo}
aMaxTpStrLen = 255;
asBlank = "";
achHexPrefix = "$";
asFreeSlot = "<*** ranura libre ***>";
asNonFreeSlot = "<*** ranura de disco ***>";
aSectorSize = 512;
aSecSizeInWords = aSectorSize DIV 2;
aQuit = "Q";
achYes = "Y";
achNo = "N";
aDefExt = "BIN";
aDosExtMark = ".";

{Códigos ASCII}
achNULL = 00;
achLF = 10;
achCR = 13;
achOne = "1";
achFour = "4";

{***** ATENCION !!! Valores codificados a continuación. *****}
{***** Por favor, modifique cuidadosamente! *****}
{$ IFDEF DebugVersion}
adwBootSeg = $ 8000; {segmento en 512K}
{$ ELSE}
adwBootSeg = $ 0000; {segmento en 0K}
{$ ENDIF}
adwBootOfs = $ 7C00;
adwRelBootOfs = adwBootOfs + aSectorSize;
adwPartitionTable = $ 1BE;
aPartitonEntrySize = $ 10;
aMaxAvailLogicalPartition = 4;
adwBootMarkOfs = adwPartitionTable +
(aPartitonEntrySize *
aMaxAvailLogicalPartition);
adwBootSecID = $ AA55;

aOS_Desc_Str_Len = $ 16; {estos valores encontrados}
aOS_Desc_Ofs = $ 04; {después del montaje de}
aOS_Desc_Start = $ 40-1; {Procedimiento de IPL. }
aOS_Desc_Str_Len_Ext = aOS_Desc_Str_Len + 2;

aDebugOff = 0;
aDebugOn = 1;

aFarJumpOpCode = $ EA; {código de operación iAPX86}

aRomKbdDriver = $ 16; {Funciones de IBM PC BIOS}
aRomDiskDriver = $ 13;
aRomVideoDriver = $ 10;

{uso para verificar la versión instalada}
asCopyrightNotice = "OS-MultBoot (C) 1992 D.Stefankov";


{* ====================== PIEZAS CONSTANTES TIPADAS ======================= === *}

TIPO

{* cuerdas *}
STR2 = STRING [2];
STR4 = STRING [4];
STR8 = STRING [8];

{* Información sobre el disco lógico *}
recLogicalPartition = GRABAR
dbBootDriveMark: System.Byte; {00}
dbStartingHead: System.Byte; {01}
dwStartingCylSec: System.Word; {02}
dbOperatingSystemID: System.Byte; {04}
dbEndingHead: System.Byte; {05}
dwEndingCylSec: System.Word; {06}
ddPrecedingSecs: System.Longint; {08}
ddSecsPerPartition: System.Longint; {0C}
FIN;
{* RecLogicalPartition *}

{* Sector de arranque maestro *}
recMasterBoot = GRABAR
dbReservedCode: ARRAY [0..adwPartitionTable-1] OF
System.Byte; {000}
RecDiskPartitionsTable: ARRAY [0..aMaxAvailLogicalPartition-1] OF
partición recLogical; {1BE}
dwValidBootRecID: System.Word; {1FE}
FIN;
{* recMasterBoot *}


{* =========================== VARIABLES PART ==================== ======== *}

VAR

grecFixedDiskBoot: recMasterBoot;
gfOutStream: ARCHIVO DE recMasterBoot;
gsTempInput: STRING;
gdwOurBootRecLen: System.Word;
gdwMemOfs: System.Word;
gbStatusOk: System.Boolean;
gdbIndex: System.Byte;
gchIn: System.Char;





Anatoly Podgoretsky   (2001-12-18 20:30) [9]

Es mejor comenzar con esto, pero no necesita todo el código, solo para mover y las declaraciones de variables necesarias.



Art   (2001-12-18 20:33) [10]

System.Move (grecFixedDiskBoot, gsTempInput [1], aMaxTpStrLen);
gsTempInput [0]: = System.Char (aMaxTpStrLen); - En esta línea, se salta todos los parámetros que significa!



Art   (2001-12-18 20:39) [11]

Mover desde el módulo SYSUTILS



Anatoly Podgoretsky   (2001-12-18 20:54) [12]

Entonces, ¿cuál de los dos Move te jura el compilador?
Bueno, no extraigas la misma información gota a gota, pronto te aburrirás.



Иван Шихалев   (2001-12-18 21:06) [13]

> se salta esta linea significa todas las opciones!

System.Move (grecFixedDiskBoot, gsTempInput [1], aMaxTpStrLen);

Aquí hay tres parámetros

System.Move (System.Mem [System.Seg (grecFixedDiskBoot.dbReservedCode): (System.Ofs (grecFixedDiskBoot.dbReservedCode) + aOS_Desc_Start)], aOS_Desc_Str_Len_Ext * aMaxAvailLogicalPartition);

Aquí hay dos parámetros

> Mover desde el módulo SYSUTILS

¿Qué significa eso?



Art   (2001-12-18 21:07) [14]

Mover desde el módulo SYSUTILS



Art   (2001-12-18 21:10) [15]

Bien martillo en el módulo!
System.Move (System.Mem [System.Seg (grecFixedDiskBoot.dbReservedCode): (System.Ofs (grecFixedDiskBoot.dbReservedCode) + aOS_Desc_Start)],

aOS_Desc_Str_Len_Ext * aMaxAvailLogicalPartition); - ¡Jura por esta pieza!



Art   (2001-12-18 21:12) [16]

¡Gente, será más fácil para todos, si alguien sabe el hilo, dónde obtener la fuente del cargador!



Anatoly Podgoretsky   (2001-12-19 00:05) [17]

¡¡¡Sería necesario que no hubiera dos, sino tres parámetros !!!



Владислав   (2001-12-19 07:44) [18]

> Arte © (18.12.01 21: 12)

Será más fácil si no "agita el agua" :-)

Aquí está la declaración del procedimiento:
procedimiento Mover (fuente const; var Dest; Count: Integer);

Pero, ¿cómo lo usas?
System.Move (System.Mem [System.Seg (grecFixedDiskBoot.dbReservedCode): (System.Ofs (grecFixedDiskBoot.dbReservedCode) +

Encuentra las diferencias ...

¡Será más fácil para todos si alguien sabe dónde obtener la fuente del cargador de arranque!

"Por favor, dame un poco de agua para beber, de lo contrario, quieres comer, aunque no haya lugar para dormir".

Buena suerte.



Арт   (2001-12-19 13:47) [19]

Está bien, lo siento, gracias a todos!



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba









Memoria: 0.63 MB
Tiempo: 0.044 c
1-22008
Caimán
2001-12-17 11:46
2002.01.08
AYUDA !!!


4-22477
Art
2001-10-31 12:17
2002.01.08
¿Cómo ver todos los procesos ejecutando todos los programas?


1-22198
T2
2001-12-16 07:23
2002.01.08
Un procesamiento para un montón de botones.


3-21908
Dup
2001-11-28 13:27
2002.01.08
Aplicación colgar


4-22511
Plug & play
2001-10-29 22:23
2002.01.08
¿Y cómo apagar programáticamente la computadora?





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiana Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español