Pascal 如何执行外部程序?

我正在使用一个pascal IDE,用于为runescape生成宏。在我的程序中,我需要执行我创建的外部.py。我到处都找遍了,找不到有效的解决办法。 是否有函数可以满足我的要求 编辑:我的意思是运行,就像双击程序一样。这可能会帮助您: 我想,用一种语言执行(或在本例中是解释)的函数极其罕见。如果可以将Python转换为Pascal,显然会变得容易得多。如果我错了,请有人纠正我!>执行是个错误的词。我只是想让它打开.py,而不是解释它。去SCAR论坛问问怎么样?

Lazarus(Pascal)运行错误(5)

我的程序以RunError(5)退出,这表明它无法访问该文件,它应该能够访问该文件。我已经检查过了,该文件按原样使用,该文件不是只读的,等等。该程序所做的是,如果不存在一个.dat文件,它会创建一个该文件,并将其用于保存内容。如果我运行该程序,但该文件不存在,则会创建该文件,但在此之后,在同一执行过程中,该程序将无法访问该文件。只有在当前执行中创建文件时才会发生这种情况 这是调用过程的方式(代码很长,但我给出了发生错误的前几行代码): 然后是每一个程序: procedure Initialize

Pascal 帕斯卡为什么获胜';这个简单的随机范围不起作用吗?

试图获取一个介于a(变量-2)和(变量+2)之间的数字。 例如,如果X=7,那么我想要一个随机数生成器,它给出的值范围为5-9。请参见下面我的尝试,它给了我意想不到的结果: var x, xRange, i,count,xLower, xhigher:integer; begin x:=7; xLower:=x-2; xHigher:=x+2; for count:= 1 to 20 do begin i:=random(xHigher)+xLower; w

Pascal:尝试重写数组并帮助打印我的数组时出错

因此,我正在开发这个pascal应用程序,它有一个菜单,您可以在其中执行多种操作 在输入相册(我的程序就是这样做的)并试图通过在当前相册上写入来编辑它之后,我得到一个错误,如图所示 编译时没有错误,但警告除外: (100,9)警告:函数结果变量似乎未初始化 这是我的密码: program MusicPlayer; uses TerminalUserInput; type // You should have a track record TrackRec = record

Pascal 程序抛出未知错误:EConvertError

我正在尝试创建一个程序,它接受用户的输入,并检查其有效日期是否为2000-2099年。当我对代码进行bug测试时,我连续两次输入enter作为输入,第一次输入enter时,没有抛出错误,但第二次控制台闪烁消息并崩溃。我在它崩溃时拍了一张截图,这是它显示的错误 An unhandled exception occured at $0040CDE1 EConvertError : "" is an invalid integer 我最好的猜测是,这个错误是由我的一个stroin

Pascal 重新定义变量,这些变量的名称取决于用户输入的内容

我有一些按numbers排序的变量,比如ex1、ex2、ex3等(整数);我想计算用户输入数字字母的次数,如果输入“1”,程序会将+1添加到ex1,如果输入2,程序会将+1添加到ex2,以此类推(我不能使用数组,因为在练习中禁止使用数组)。例如,如果我要求用户输入15个介于1和15之间的数字,并且我想计算每个数字的输入次数,那么我想到的代码应该是 for i:=1 to 15 do read(number); if number = i then Begin

如何检查实数是否是pascal中的自然数?

我是一个初学者,我正试图编写一个简单的程序,计算一个数字的所有除数。除法之后,我只想写给我一个自然数的除数。我想不出一个办法 循环除以数字 For i := 1 to x do Begin D := x div i; WriteLn ('Divider', lp, '. ', x, ' : ', i, ' = ', D); lp := lp +1; End; 这里有一个提示-与其检查x div i的结果是否自然,为什么不检查

Pascal 返回文本的递归方法

有人能解释一下这段代码是如何还原用户输入的(这是一个递归): 程序还原; Var文本:char; 开始 阅读(文本) 如果为(文本“.”),则还原; 写(文本); 结束; 让我们通过一个例子来说明。 假设用户键入“Hello” 他打字母“H” 当text等于'H'时,条件(text.')为真 因此再次调用revert 现在,堆栈上还有第二个text变量,它将 填写用户输入的第二个字母。在这种情况下,它是 “e” 条件(文本“)再次为真。因此调用了revert 再一次 现在堆栈上有第三个text

Pascal 从.dat文件获取数据

我希望有人能帮我。我正试图从一些.dat文件中提取一些条形码数据。它是一个包含三个文件组的B树文件系统。dat.ix。迪亚。编写该软件的公司(很久以前)说该程序是用Pascal编写的。我在逆向工程方面没有经验,但据我所知,这很可能是提取数据的唯一方法,因为数据库的结构包含在程序代码中。我在寻求从哪里开始的建议 我想你需要做的第一件事就是看看你得到的exe是否是用Delphi编写的。您可以通过以下方式进行检查: 然后,要查看创建这些.dat文件的exe是否使用“TurboPower B-Tree文

从函数返回字符串(VAX PASCAL)

这是一个软件考古学家 在你问我为什么要费心让它发挥作用之前,原因很简单,因为我可以——我认为这是一个很好的借口 我发现以下过程代码使用VAX PASCAL编译(并按预期运行) 但是,如果将其转换为函数并尝试以字符串形式返回结果,则不会编译 FUNCTION format(number : INTEGER) : STRING(16); VAR result : STRING(16); BEGIN : : format := result;

Pascal:范围内的数字总和

有多少小于1000的正整数的数字和等于6 不知道如何开始使用Pascal。在Python上,我的脚本类似于: a = 1 b = 1000 for i in range(a,b): ........ 我不知道如何访问这些数字。如果有人能给我一个提示,我应该可以从这里取得一些进展 你的问题基本上就是“for循环是如何在Pascal中实现的”。。。只需查看文档,例如: 我还闻到了家庭作业的味道 你的问题基本上就是“for循环是如何在Pascal中实现的”。。。只需查看文档,例如: 我还闻到了家庭作

lazarus/pascal写入当前日期的文件名

我需要用包含当前日期的文件名编写一个文件。。除了日期之外,其他一切都正常工作,它给出了一个类异常“运行错误(3)” (importo.text是TEdit的文本..但我想它是不相关的) DateToStr()将返回根据区域设置格式化的日期。在您的情况下,这几乎肯定会返回导致问题的文件夹/路径分隔符(/或\) 即使更改区域设置以避免使用此类字符,如果这些区域设置不“兼容”,则代码在其他系统上仍将失败。为了避免这种情况,您需要确保文件名中的日期编码对此类潜在问题不敏感 您可以在形成文件名后删除/替换

Pascal 求矩阵A(5,8)每行负元素的最大绝对值,并将它们重新排列到第一列

求矩阵A(5,8)每行负元素的最大绝对值,并将它们重新排列到第一列。 不知道下一步是什么!这段代码的下一步是什么?请帮帮我)提示:您可以用一种稍微不同的方式声明矩阵: program test (input,output); var a:array[1..5, 1..8] of integer; n,max,i,j:integer begin writeln('enter massive 5*8'); for i:=1 to 5 do for j:=1 to 8 do

用pascal交换两个数字

我试图交换两个值,但得到一个警告:局部变量“temp”似乎未初始化。我想像以前那样做。我使用fpc Main.pas从命令行编译它。我尝试将temp变量初始化为0,但它仍然显示致命:编译模块时出现3个错误,正在停止 “Main.pas” Program Main; procedure Main(); var n1, n2: Integer; begin n1 := 5; n2 := 10; Swap(@n1, @n2); writeln('n1 = ', n1); wr

Pascal 如何掌权

其中输入了S、p和Y 如何在自由帕斯卡中获取K值?使用or函数。使用or函数。或使用**运算符 默认情况下,这个函数没有实现/重载,但unit math会对整数和浮点进行此操作,或者使用**运算符 默认情况下,这个函数没有实现/重载,但UnitMath为integer和float实现 K = (S * (P/100/12)) / (1 - (1 + (P/100/12))^(-Y*12))

Pascal 如何修复exitcode 201?

我的任务是用Pascal编写一个程序。当我运行程序时,结果是exitcode201 我不知道如何修正这个错误 program convertTime; uses crt; Type Jam = record hh:integer ; mm:integer ; ss:integer; end; var

检查Pascal语法是否正确

有点奇怪,希望有人能帮忙 我工作的公司正在做一个广告,我们正在寻找一个Pascal程序员,我们想我们应该在广告中加入一些Pascal代码。唯一的问题是我们对帕斯卡一无所知。因此,经过一点研究,我们得出的代码是: Begin Write('Enter in Name:'); readln(company); Write('Enter in Australia:'); readln(country); writeln;{new line} writeln;{new line} Writ

Pascal 线性方程,不兼容类型布尔/长型

我用Pascal做了一个关于线性方程的练习,我创建了比较输入数字的简单代码,但当我尝试运行它时。我有关于不兼容类型的问题,得到了布尔值和期望的LONGINT 至少在中,且优先级高于=,因此 被解释为 (a = (0 and b)) = 0. 但是and运算符不能接受整数和浮点值作为操作数,但两个整数都可以。因此出现了错误 如果a和b是整数,0和b将是0和b的按位合取,即0。因此,我们本来应该 (a = 0) = 0. 如果a等于0,则读取true=0;如果a不同于0,则读取false=0。但

Pascal Fpgui和lcl以及qt的优缺点是什么?

LazarusIDE可以使用几个gui库。我在窗户上。我想知道他们之间有什么不同。。。 很明显,lcl是最稳定的 一旦Qt和fpgui质量好了,为什么还要使用它们呢?LCL是抽象概念。LOW LCL的核心部分在所有平台上工作。它有点以Windows为中心,因为它从Delphi的以Windows为中心的VCL派生出基本原则(和兼容性) 在Windows下,LCL通常使用win32/64 GDI API层作为后端,但也可以使用其他层,尤其是QT和GTK2(尽管它们更多地处于测试阶段) 如果您主要投资

Pascal 如何在一行的循环中写入以逗号分隔的数字?

我正在用FreePascal做一个素数程序 如何用I1和I2来输出数字除法,而不是用逗号来分隔2行 var P:Integer; I:Integer; J:Integer; A:Integer; begin writeln('Prime number program'); writeln; writeln('Insert number'); readln(P); for I:=2 to P-1 do begin

TurboPascal默认调用约定

TurboPascal中的默认调用约定是什么?变量应该放在哪个寄存器中,或者放在堆栈LTR或RTL中?如果是我很久以前知道的Turbo Pascal,这是Pascal约定:从左到右推送堆栈上的参数,调用的函数将被清除。并在ax或eax中返回函数值(如果是x86处理器)或查看一堆旧TP源(如SWAG)?

找不到Pascal关闭文件

我一直在用Delphi做一个程序,我想做的是给我的游戏设置一个“保存文件”。我一直在Delphi中这样做,而不是在我把代码带回家的时候,我只是在使用pascal编译器,我似乎无法运行我的程序,因为我遇到了以下错误 Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64

Pascal 插入排序说明

我试图理解插入排序的代码,但我真的很困惑,我不明白我,j,index在代码中做什么。。有人能帮我了解更多吗 Procedure InsertionSort(numbers : Array of Integer; size : Integer); Var i, j, index : Integer Begin For i := 2 to size-1 do Begin index := numbers[i]; j := i;

Turbo Pascal Turbo Vision/Free Pascal Free Vision中的强制单色模式

我正在写一个基本的“hello world”程序,里面有免费的Pascal Free Vision,我想去掉颜色,让程序保持单色。只是黑白的 我知道这在旧的turbopascal时代是可能的,但我找不到任何参考或示例代码。我使用的是最新版本的免费Pascal,但对Turbo Pascal的回答也会对我有所帮助 有什么想法吗?是的,那是很多年前的事了!:o) 在应用程序的Init方法中,在继承的Init之后添加AppPalette:=单色成功了。谢谢!。对不起,我的错。正确的方法是重写InitSc

Pascal 不确定何时使用';:';或'=';

我在编译代码时遇到此错误:“cars2.pp(3,8)致命:语法错误,”=“预期但”:“发现” 这是我的密码: program vehInfo; type wheels: array [1 .. 6] of integer; purchaseYear: array [1919 .. 2051] of integer; style = (sports, SUV, minivan, motorcycle, sedan, exotic); pwrSrc = (elec

代码在Pascal中出现106错误,我不知道为什么

我对帕斯卡还是相当陌生的,我会犯这些错误,我不知道为什么。我们将非常感谢您的帮助 Runtime error 106 at $004015DFF $004015DF $004016D2 $004016FD $004078D1 如果你们想看的话,这是我的代码 program BasicReadWrite; type Arra

试图理解沃思';s Pascal pl/0编译器代码

有没有对Wirth的源代码进行简单的解释,或者甚至是添加更多注释的版本,以便我了解它是如何工作的 Wirths pl/0编译器位于以下位置: 我的主要目标是修改它,使其与Oberon类似地使用整数数组,但尽可能少地接触代码 Oberon在此引用:代码在沃思的书中有详细描述。我正在看1976年的版本,里面有大约70页关于这个项目的内容 据我所知,这本书的1976年版本并不在线,但他后来将代码移植到Modula-2和Oberon。该书以免费PDF格式提供,但PL/0章节已被删除并扩展为第二本书(在线

计算${2n\choose n}-{2n\choose n-1}$作为大数\PASCAL

你好,我需要计算这个二项式系数 ${2n \choose n} - {2n \choose n-1}$ 对于大数字,我不知道如何使用数据类型LongWord或QWord 有什么想法吗?:) 如果你试图计算n!对于大于几百的n,您将溢出pascal浮点数,因此使用(2n)计算{2n choose n}的简单方法/(n!)^2可能不起作用,即使最后的数字可能适合实数而没有溢出,如(2n)!可能溢出 你需要做的是混合乘法和除法,这样你就不会得到溢出或下溢。例如,假设{2n choose n}本身不会

Pascal 找到第二高的值

我编写这段代码是为了找出数组中第二高的值: var i, ZweitMax, Max : integer; begin Max := -maxint; ZweitMax := -maxint; for i := 1 to FELDGROESSE do if inFeld[i] > Max then begin ZweitMax := Max; Max := inFeld[i]; end else if inFeld[i] > ZweitMax then

Pascal 仅限于字母

我正在尝试为一个学校项目创建一个简单的加密方法,其想法是通过使用用户输入的数字增加字符的ascii值,然后将其替换回来来更改字符。 所以我的问题是,当我这样做时,它是有效的,但它也包括符号,如%$。。。等 我想做的是将Ord函数限制为仅限字母,例如,如果用户输入数字100,但字母表中只有26个字母,它将不断循环26个字母,直到到达第100个。 希望我足够清楚,哈哈 以下是我到目前为止所掌握的全部代码的一部分: Procedure Crypting( Var cryptFile : Text; t

Pascal 帕斯卡气泡排序

我有一个项目,其中的程序必须接受10个字,并显示在降序(字母顺序从Z-a) 使用气泡排序。 以下是我目前所知道的: 程序样本; 使用阴极射线管 TYPE no._list=ARRAY(1...10)OF REAL; CONST no.:no._list=(20.00,50.50.35.70....); VAR x:INTEGER; small:REAL; BEGIN clrscr: small:=no.(1); FOR x:=2

由于没有图形单元,Pascal编译错误

我在使用最新版本的编译器用pascal编译给定源代码时遇到问题。它抱怨说找不到[程序]使用的图形单元。由于这是我使用Pascal的第一个小时,所以我只需下载图形32并将其放入FPC\2.6.2\units\i386-win32 这是问题的截图,我非常感谢对新手的任何帮助 单元图形(德尔福单元)是VCL,因此是Lazarus的一部分,而不是FPC 经验法则是一切“形式”和下面的东西都是拉撒路

Pascal 在两侧设置不同类型的比较

以下代码取自GNUPascal测试代码,将在免费的Pascal中很好地编译。我能理解它是如何工作的 var s1 : set of 0..255; s2 : set of 64..128; ok : boolean; procedure p1; begin if s1 = s2 then begin writeln('failed1'); ok := false; end; end; 然而,我有点好奇设置兼容性的规则是什么,以及您可以期望什么。例如:

在Pascal中的txt文件中,每隔一行跳过一次

这是我的代码(不要介意德语变量名): 如你所见,每一行都是空白的,当它试图把一个空行加载到我的列表中时,它崩溃了。 你可以添加一个额外的 RealLn < /代码>跳过空白行,这样你的代码就变成: ... WHILE NOT EoF(Textdatei) DO BEGIN Inc(i); // *** read non-empty line containing data *** Readln

Pascal Hello World不工作

我只是在尝试学习一些新的东西,所以我在尝试Pascal,但只是简单的hello world并没有处理错误- pas(12,3)致命:语法错误,应为“;”,但找到“标识符WRITELN” 错误:C:\FPC\3.0.2\bin\i386-win32\ppc386.exe返回错误exitcode 我的代码 program Hello; begin writeln('test'); readln(); end 请帮助。不知道这是否是错误,但您在“结束”后缺少“.”。应

Pascal编译错误

代码如下: program pi18; var a,b,c,P:real; begin read(a,b,c); if(a+b<c) or (b+c<a) or (a+c<b) then writeln('Nu exista asa triunghi') else begin P:=a+b+c; if(a=b) and (a=c) then write('Triunghiul este echil') else

Pascal 单位';彩信系统&x27;找不到

在PascalABC.NET中使用Windows 8.1编码 试图使用彩信系统播放声音,但显示: 找不到单元“MMSystem” 在“var”之前,我输入了“uses MMSystem”;我做错什么了吗?MMSystem.pas是Windows多媒体API的包装器。它是DelphiWinAPI支持的一部分。除非PascalABC.Net(不是Delphi)也包含相同的单元,否则您就不会拥有它。您的计算机上有MMSystem.pas吗?如果没有它,就不能使用它。1)不显示代码。2) PascalA

Pascal-读取/读取函数杂质?

我真的很感兴趣-为什么你需要 readln; 从键盘读入变量后的行?比如说, repeat writeln('Make your choise'); read(CH); if (CH = '1') then begin writeln('1'); end; { ... } until CH = 'q'; 如果您运行以下代码,并按键盘上的“1”,您将得到如下输出 1 Make your choise Make your choise Make your choise 另一方面,如果您添加

Pascal语言中的最大值查找程序

我正在尝试用Pascal实现以下算法。帕斯卡对我来说是新来的,所以我不明白问题出在哪里。程序尝试在两个整数之间找到最大值,如下所示: program maqsimaluri; function max(a,b:integer):integer; begin if a>=b then max:=a else max:=b; end; negon var a:=5; var b:=4; write(max(a,b)); end. 但是我得到了以下错误 Free Pascal Compiler

忽略Pascal中的注释

我制作了以下程序: program test; uses crt; var Input: text; Line: string; CharCount: Integer; procedure FindIdentifiers(Line: string); var Word: string; WordFound: Boolean; NumberFound: Boolean; begin Word := ''; WordFound := false; Numb

用pascal语言执行外部程序

我想用下面的代码打开一个程序,但我不能 program launchprogram; uses Classes, SysUtils, Process; var AProcess: TProcess; begin AProcess := TProcess.Create(nil); AProcess.Executable:= 'C:\Program Files (x86)\oCam\oCam.exe'; AProcess.Parameters.Add('-h'); APr

Pascal readkey似乎导致子QENT readln忽略为响应readln而键入的第一个字符。readln仅将第二个和更高的字符存储到var

我很难为情地承认,我无法理解为什么在这个非常简单的示例中,“else if”子句中的“readln(age);”语句忽略了为响应第16行周围的“writeln('你多大了',name:length(name),'?');”语句而输入的第一个整数 显然,罪魁祸首是第18行的“ch:=readkey;”语句。 要输入有效的年龄,必须先按下某个键(除了(ASCII 13),该键被“if ch=#13 then”语句捕获 “age”变量的类型是字符串还是整数似乎无关紧要 如果输入两个字符或整数,则只有第

检查Pascal中的数组元素是否为空

很抱歉在这个过时的语言上打扰您,但是有没有办法检查特定的数组元素在pascal中是否为空? 这是一个整数数组,所以根据空字符串检查元素会导致类型不匹配。我喜欢这种语言!。 谢谢您的时间。整数值不能为空。它总是有价值的。它不像某些现代语言中的可空类型 有时,按照惯例,某些值被用作哨兵,但显然您需要在变量的所有使用中一致地应用此惯例。更重要的是,哨兵只有在您有一些在您执行的任何计算中都没有意义的备用值时才可行。您能展示一些代码吗?一些类型声明,也许你也试过了?顺便说一句,Pascal及其后代在今天非

turbo-pascal程序的调用图

我正在对一个18岁的pascal程序进行维护。为了帮助我理解所有东西是如何组合在一起的,我想画一个调用图。然而,我找不到任何可以为pascal源代码绘制调用图的软件。我目前正在使用Turbo Pascal 7,不知道其他Pascal编译器的功能。可以帮助您可视化Pascal逻辑。演示可以免费试用。帕斯卡分析仪可能来自Peganza 虽然是商业性的,但描述中有“呼叫树” 新网址: 它可以在一个简单的函数中显示逻辑。一旦函数变得复杂,它就会阻塞。它也只能在功能级别上运行,而不能在程序级别上显示所

Pascal 理解联合类型

在Pascal中,可以声明联合类型: AnimalType = (Dog, Cat); Animal = record name: string; case myType: AnimalType of Dog: (weight: Integer); Cat: (age: Integer); end; 然而,很容易违反案例的合同: var a: Animal; begin a.name := 'Kittie'; a.myType := Cat; a.we

Pascal 为什么在相乘时抛出异常?

我想要平方,但我不记得怎么做了,因为乘法是一个变量,但是抛出exeption,我不知道为什么。 请帮忙我不知道还能做什么 SIGSEGV表示访问无效内存。这里您没有正确创建TSquare对象 r:=TSquare.Create(1,5)是创建对象实例的正确方法。SIGSEGV表示访问无效内存。这里您没有正确创建TSquare对象 r:=TSquare.Create(1,5)是创建对象实例的正确方法。可能超出了尝试在整数中拟合的结果值范围。无法读取俄文错误消息…我更改了图片r:=TSquare.

Pascal 如何找到给定字符串中的字数?

我在用Pascal计算给定字符串中的字数 这是我的第一个女同事: Program P1; var s:string; i,k:integer; begin write('Enter a string: '); readln(s); k:=0; for i:=1 to length(s) do begin if(s[i] = ' ') then k:=k+1; end; write('Number of words ', k

Pascal Lazarus在TMemo中打开XML文件

我试图以文本形式在TMemo中打开一个XML文件。每次我这样做,它就会打开: 我知道这不是XML中的内容,如果我在记事本中打开该文件,它会很好地打开并显示XML数据,纯文本 这是我的代码: procedure TForm1.Button7Click(Sender: TObject); var ss: string; sl: TStringList; begin ss := ''; runcommand('msinfo32 /nfo pcinfo.xml', ss); sl:=

  1    2   3   4   5   6  ... 下一页 最后一页 共 8 页