我正在使用一个pascal IDE,用于为runescape生成宏。在我的程序中,我需要执行我创建的外部.py。我到处都找遍了,找不到有效的解决办法。
是否有函数可以满足我的要求
编辑:我的意思是运行,就像双击程序一样。这可能会帮助您:
我想,用一种语言执行(或在本例中是解释)的函数极其罕见。如果可以将Python转换为Pascal,显然会变得容易得多。如果我错了,请有人纠正我!>执行是个错误的词。我只是想让它打开.py,而不是解释它。去SCAR论坛问问怎么样?
我的程序以RunError(5)退出,这表明它无法访问该文件,它应该能够访问该文件。我已经检查过了,该文件按原样使用,该文件不是只读的,等等。该程序所做的是,如果不存在一个.dat文件,它会创建一个该文件,并将其用于保存内容。如果我运行该程序,但该文件不存在,则会创建该文件,但在此之后,在同一执行过程中,该程序将无法访问该文件。只有在当前执行中创建文件时才会发生这种情况
这是调用过程的方式(代码很长,但我给出了发生错误的前几行代码):
然后是每一个程序:
procedure Initialize
试图获取一个介于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应用程序,它有一个菜单,您可以在其中执行多种操作
在输入相册(我的程序就是这样做的)并试图通过在当前相册上写入来编辑它之后,我得到一个错误,如图所示
编译时没有错误,但警告除外:
(100,9)警告:函数结果变量似乎未初始化
这是我的密码:
program MusicPlayer;
uses TerminalUserInput;
type
// You should have a track record
TrackRec = record
我正在尝试创建一个程序,它接受用户的输入,并检查其有效日期是否为2000-2099年。当我对代码进行bug测试时,我连续两次输入enter作为输入,第一次输入enter时,没有抛出错误,但第二次控制台闪烁消息并崩溃。我在它崩溃时拍了一张截图,这是它显示的错误
An unhandled exception occured at $0040CDE1
EConvertError : "" is an invalid integer
我最好的猜测是,这个错误是由我的一个stroin
我有一些按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
我是一个初学者,我正试图编写一个简单的程序,计算一个数字的所有除数。除法之后,我只想写给我一个自然数的除数。我想不出一个办法
循环除以数字
For i := 1 to x do
Begin
D := x div i;
WriteLn ('Divider', lp, '. ', x, ' : ', i, ' = ', D);
lp := lp +1;
End;
这里有一个提示-与其检查x div i的结果是否自然,为什么不检查
有人能解释一下这段代码是如何还原用户输入的(这是一个递归):
程序还原;
Var文本:char;
开始
阅读(文本)
如果为(文本“.”),则还原;
写(文本);
结束;
让我们通过一个例子来说明。
假设用户键入“Hello”
他打字母“H”
当text等于'H'时,条件(text.')为真
因此再次调用revert
现在,堆栈上还有第二个text变量,它将
填写用户输入的第二个字母。在这种情况下,它是
“e”
条件(文本“)再次为真。因此调用了revert
再一次
现在堆栈上有第三个text
我希望有人能帮我。我正试图从一些.dat文件中提取一些条形码数据。它是一个包含三个文件组的B树文件系统。dat.ix。迪亚。编写该软件的公司(很久以前)说该程序是用Pascal编写的。我在逆向工程方面没有经验,但据我所知,这很可能是提取数据的唯一方法,因为数据库的结构包含在程序代码中。我在寻求从哪里开始的建议 我想你需要做的第一件事就是看看你得到的exe是否是用Delphi编写的。您可以通过以下方式进行检查:
然后,要查看创建这些.dat文件的exe是否使用“TurboPower B-Tree文
我正在创建一个将二进制数转换为十进制数的项目。代码如下:
program binerdesimal;
uses crt;
var
p, d, i, l, pow, int:integer;
x:real;
y:integer;
b:string;
begin
readln(b);
d:=0;
for i:=1 to length(b) do
begin
l:=length(b);
l:=l - 1;
pow := power(2, l);
这是一个软件考古学家
在你问我为什么要费心让它发挥作用之前,原因很简单,因为我可以——我认为这是一个很好的借口
我发现以下过程代码使用VAX PASCAL编译(并按预期运行)
但是,如果将其转换为函数并尝试以字符串形式返回结果,则不会编译
FUNCTION format(number : INTEGER) : STRING(16);
VAR
result : STRING(16);
BEGIN
:
:
format := result;
您能确认我对以下代码的回答吗:
procedure main
var x,y,z;
procedure sub1
begin
var x,z
x := 6;
z := 7;
sub2();
x := y*z + x;
print(x);
end
procedure sub2
begin
var x,y
有多少小于1000的正整数的数字和等于6
不知道如何开始使用Pascal。在Python上,我的脚本类似于:
a = 1
b = 1000
for i in range(a,b):
........
我不知道如何访问这些数字。如果有人能给我一个提示,我应该可以从这里取得一些进展 你的问题基本上就是“for循环是如何在Pascal中实现的”。。。只需查看文档,例如:
我还闻到了家庭作业的味道 你的问题基本上就是“for循环是如何在Pascal中实现的”。。。只需查看文档,例如:
我还闻到了家庭作
我需要用包含当前日期的文件名编写一个文件。。除了日期之外,其他一切都正常工作,它给出了一个类异常“运行错误(3)”
(importo.text是TEdit的文本..但我想它是不相关的)
DateToStr()将返回根据区域设置格式化的日期。在您的情况下,这几乎肯定会返回导致问题的文件夹/路径分隔符(/或\)
即使更改区域设置以避免使用此类字符,如果这些区域设置不“兼容”,则代码在其他系统上仍将失败。为了避免这种情况,您需要确保文件名中的日期编码对此类潜在问题不敏感
您可以在形成文件名后删除/替换
标签: Pascal
freepascalturbo-pascal
求矩阵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
我试图交换两个值,但得到一个警告:局部变量“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
其中输入了S、p和Y
如何在自由帕斯卡中获取K值?使用or函数。使用or函数。或使用**运算符
默认情况下,这个函数没有实现/重载,但unit math会对整数和浮点进行此操作,或者使用**运算符
默认情况下,这个函数没有实现/重载,但UnitMath为integer和float实现
K = (S * (P/100/12)) / (1 - (1 + (P/100/12))^(-Y*12))
标签: Pascal
freepascalturbo-pascal
我的任务是用Pascal编写一个程序。当我运行程序时,结果是exitcode201
我不知道如何修正这个错误
program convertTime;
uses crt;
Type
Jam = record
hh:integer ;
mm:integer ;
ss:integer;
end;
var
有点奇怪,希望有人能帮忙
我工作的公司正在做一个广告,我们正在寻找一个Pascal程序员,我们想我们应该在广告中加入一些Pascal代码。唯一的问题是我们对帕斯卡一无所知。因此,经过一点研究,我们得出的代码是:
Begin
Write('Enter in Name:');
readln(company);
Write('Enter in Australia:');
readln(country);
writeln;{new line}
writeln;{new line}
Writ
标签: Pascal
operator-precedence
我用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。但
LazarusIDE可以使用几个gui库。我在窗户上。我想知道他们之间有什么不同。。。
很明显,lcl是最稳定的
一旦Qt和fpgui质量好了,为什么还要使用它们呢?LCL是抽象概念。LOW LCL的核心部分在所有平台上工作。它有点以Windows为中心,因为它从Delphi的以Windows为中心的VCL派生出基本原则(和兼容性)
在Windows下,LCL通常使用win32/64 GDI API层作为后端,但也可以使用其他层,尤其是QT和GTK2(尽管它们更多地处于测试阶段)
如果您主要投资
我正在用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中的默认调用约定是什么?变量应该放在哪个寄存器中,或者放在堆栈LTR或RTL中?如果是我很久以前知道的Turbo Pascal,这是Pascal约定:从左到右推送堆栈上的参数,调用的函数将被清除。并在ax或eax中返回函数值(如果是x86处理器)或查看一堆旧TP源(如SWAG)?
我一直在用Delphi做一个程序,我想做的是给我的游戏设置一个“保存文件”。我一直在Delphi中这样做,而不是在我把代码带回家的时候,我只是在使用pascal编译器,我似乎无法运行我的程序,因为我遇到了以下错误
Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64
我试图理解插入排序的代码,但我真的很困惑,我不明白我,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;
标签: Pascal
freepascalturbo-pascal
我正在写一个基本的“hello world”程序,里面有免费的Pascal Free Vision,我想去掉颜色,让程序保持单色。只是黑白的
我知道这在旧的turbopascal时代是可能的,但我找不到任何参考或示例代码。我使用的是最新版本的免费Pascal,但对Turbo Pascal的回答也会对我有所帮助
有什么想法吗?是的,那是很多年前的事了!:o) 在应用程序的Init方法中,在继承的Init之后添加AppPalette:=单色成功了。谢谢!。对不起,我的错。正确的方法是重写InitSc
我在编译代码时遇到此错误:“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
我对帕斯卡还是相当陌生的,我会犯这些错误,我不知道为什么。我们将非常感谢您的帮助
Runtime error 106 at $004015DFF
$004015DF
$004016D2
$004016FD
$004078D1
如果你们想看的话,这是我的代码
program BasicReadWrite;
type
Arra
有没有对Wirth的源代码进行简单的解释,或者甚至是添加更多注释的版本,以便我了解它是如何工作的
Wirths pl/0编译器位于以下位置:
我的主要目标是修改它,使其与Oberon类似地使用整数数组,但尽可能少地接触代码
Oberon在此引用:代码在沃思的书中有详细描述。我正在看1976年的版本,里面有大约70页关于这个项目的内容
据我所知,这本书的1976年版本并不在线,但他后来将代码移植到Modula-2和Oberon。该书以免费PDF格式提供,但PL/0章节已被删除并扩展为第二本书(在线
标签: Pascal
binomial-coefficients
你好,我需要计算这个二项式系数
${2n \choose n} - {2n \choose n-1}$
对于大数字,我不知道如何使用数据类型LongWord或QWord
有什么想法吗?:) 如果你试图计算n!对于大于几百的n,您将溢出pascal浮点数,因此使用(2n)计算{2n choose n}的简单方法/(n!)^2可能不起作用,即使最后的数字可能适合实数而没有溢出,如(2n)!可能溢出
你需要做的是混合乘法和除法,这样你就不会得到溢出或下溢。例如,假设{2n choose n}本身不会
我编写这段代码是为了找出数组中第二高的值:
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
我正在尝试为一个学校项目创建一个简单的加密方法,其想法是通过使用用户输入的数字增加字符的ascii值,然后将其替换回来来更改字符。
所以我的问题是,当我这样做时,它是有效的,但它也包括符号,如%$。。。等
我想做的是将Ord函数限制为仅限字母,例如,如果用户输入数字100,但字母表中只有26个字母,它将不断循环26个字母,直到到达第100个。
希望我足够清楚,哈哈
以下是我到目前为止所掌握的全部代码的一部分:
Procedure Crypting( Var cryptFile : Text; t
我有一个项目,其中的程序必须接受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的第一个小时,所以我只需下载图形32并将其放入FPC\2.6.2\units\i386-win32
这是问题的截图,我非常感谢对新手的任何帮助
单元图形(德尔福单元)是VCL,因此是Lazarus的一部分,而不是FPC
经验法则是一切“形式”和下面的东西都是拉撒路
以下代码取自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;
然而,我有点好奇设置兼容性的规则是什么,以及您可以期望什么。例如:
这是我的代码(不要介意德语变量名):
如你所见,每一行都是空白的,当它试图把一个空行加载到我的列表中时,它崩溃了。 你可以添加一个额外的 RealLn < /代码>跳过空白行,这样你的代码就变成:
...
WHILE NOT EoF(Textdatei) DO
BEGIN
Inc(i);
// *** read non-empty line containing data ***
Readln
我只是在尝试学习一些新的东西,所以我在尝试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
请帮助。不知道这是否是错误,但您在“结束”后缺少“.”。应
代码如下:
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
在PascalABC.NET中使用Windows 8.1编码
试图使用彩信系统播放声音,但显示:
找不到单元“MMSystem”
在“var”之前,我输入了“uses MMSystem”;我做错什么了吗?MMSystem.pas是Windows多媒体API的包装器。它是DelphiWinAPI支持的一部分。除非PascalABC.Net(不是Delphi)也包含相同的单元,否则您就不会拥有它。您的计算机上有MMSystem.pas吗?如果没有它,就不能使用它。1)不显示代码。2) PascalA
我真的很感兴趣-为什么你需要
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实现以下算法。帕斯卡对我来说是新来的,所以我不明白问题出在哪里。程序尝试在两个整数之间找到最大值,如下所示:
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
我制作了以下程序:
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
freepascallaunching-application
我想用下面的代码打开一个程序,但我不能
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
我很难为情地承认,我无法理解为什么在这个非常简单的示例中,“else if”子句中的“readln(age);”语句忽略了为响应第16行周围的“writeln('你多大了',name:length(name),'?');”语句而输入的第一个整数
显然,罪魁祸首是第18行的“ch:=readkey;”语句。
要输入有效的年龄,必须先按下某个键(除了(ASCII 13),该键被“if ch=#13 then”语句捕获
“age”变量的类型是字符串还是整数似乎无关紧要
如果输入两个字符或整数,则只有第
很抱歉在这个过时的语言上打扰您,但是有没有办法检查特定的数组元素在pascal中是否为空?
这是一个整数数组,所以根据空字符串检查元素会导致类型不匹配。我喜欢这种语言!。
谢谢您的时间。整数值不能为空。它总是有价值的。它不像某些现代语言中的可空类型
有时,按照惯例,某些值被用作哨兵,但显然您需要在变量的所有使用中一致地应用此惯例。更重要的是,哨兵只有在您有一些在您执行的任何计算中都没有意义的备用值时才可行。您能展示一些代码吗?一些类型声明,也许你也试过了?顺便说一句,Pascal及其后代在今天非
标签: Pascal
call-graphturbo-pascal
我正在对一个18岁的pascal程序进行维护。为了帮助我理解所有东西是如何组合在一起的,我想画一个调用图。然而,我找不到任何可以为pascal源代码绘制调用图的软件。我目前正在使用Turbo Pascal 7,不知道其他Pascal编译器的功能。可以帮助您可视化Pascal逻辑。演示可以免费试用。帕斯卡分析仪可能来自Peganza
虽然是商业性的,但描述中有“呼叫树”
新网址:
它可以在一个简单的函数中显示逻辑。一旦函数变得复杂,它就会阻塞。它也只能在功能级别上运行,而不能在程序级别上显示所
在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
我想要平方,但我不记得怎么做了,因为乘法是一个变量,但是抛出exeption,我不知道为什么。
请帮忙我不知道还能做什么
SIGSEGV表示访问无效内存。这里您没有正确创建TSquare对象
r:=TSquare.Create(1,5)是创建对象实例的正确方法。SIGSEGV表示访问无效内存。这里您没有正确创建TSquare对象
r:=TSquare.Create(1,5)是创建对象实例的正确方法。可能超出了尝试在整数中拟合的结果值范围。无法读取俄文错误消息…我更改了图片r:=TSquare.
标签: Pascal
freepascalturbo-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
我试图以文本形式在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 页