标签: pascal

如何使Lazarus IDE看起来像Delphi 2007或更新版本?

我已经开始使用Lazarus在Ubuntu 9.10上为我自己使用一些简单的工具.我知道很多人喜欢模块化的Delphi 7布局,但我讨厌它.我发现它很烦人且具有破坏性.出于同样的原因,我不喜欢使用Gimp.

我也更喜欢Delphi 2007调色板菜单.这是否可以在最新版本的Lazarus(v0.9.28.x)中使用?

如何配置Lazarus看起来像Delphi 2007/9/10?

delphi pascal delphi-2007 lazarus

4
推荐指数
1
解决办法
1298
查看次数

德尔福内存管理

我无法找到几个Delphi内存管理问题的答案.我可以测试不同的场景(我做了什么来找出破坏FreeAndNil方法的东西),但它需要太长时间而且很难!但说真的,我还想知道你们(Delphi开发人员)如何处理这些内存管理问题.

我的问题(随意提出自己的问题,我确信他们的答案对我也有帮助):

  1. FreeAndNil是否适用于COM对象?我的想法是我不需要它,但是如果我需要做的就是将它设置为nil,而不是为什么不在我的finally块中保持一致并使用FreeAndNil来做所有事情?

  2. 什么是清理静态数组的正确方法(myArr:TObject的数组[0..5]).我不能FreeAndNil它,所以将它设置为nil是否足够好(在FreeAnNil'd每个对象之后我需要这样做吗?)?

多谢你们!

delphi pascal memory-management

4
推荐指数
1
解决办法
2684
查看次数

帕斯卡的重复...直到与C的比赛......同时

在C中有一个while循环和pascal(几乎)等价是重复直到循环,但两者之间有一个小的差异,而两个结构将至少迭代一次并检查它们是否只需要再次循环最后,在pascal中你编写了需要满足的条件来终止循环(REPEAT UNTIL something)在C中你写入需要满足的条件来继续循环(DO WHILE something).有没有理由存在这种差异,还是只是一个武断的决定?

c syntax pascal loops

4
推荐指数
2
解决办法
1万
查看次数

如何从字符串中删除字符,直到第一个字符是一个字母?

我有一个使用字符串(Pascal)的程序.如果第一个字符不是字母,那么在读取字符串后,我需要删除所有第一个字符,直到第一个字符为一个字母.我曾尝试多次写它,但总是删除所有字符串或没有.

如果程序读取"123%^&abc",则结果应为"abc".在ASCII表格中,字母为65..90和97..122

这是我有多远:

variables    a: set of 65..90;
             b: set of 97..122;
-------------------
  bool:=false;
  While (bool=false) do
  begin
    Writeln(s[1]);
    If (Ord(s[1]) in a) or (Ord(s[1]) in b) then
    begin
    bool:=true;
    end else
    delete(s,1,1);
  end;
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它不起作用?你能用这个小程序帮我吗?谢谢.

delphi string pascal

4
推荐指数
1
解决办法
1万
查看次数

在C++上使用eof

我正在寻找这个pascal代码的C++编码

var
jumlah,bil : integer;
begin
jumlah := 0;
while not eof(input) do
begin
   readln(bil);
   jumlah := jumlah + bil;
end;
writeln(jumlah);
end.
Run Code Online (Sandbox Code Playgroud)

我不明白在C++上使用eof

它的目的是计算从第1行到文件末尾的数据

编辑:我试过这个,但没有运气

#include<iostream>
using namespace std;

int main()
{
    int k,sum;
    char l;
    cin >> k;
    while (k != NULL)
    {
          cin >> k;
          sum = sum + k;
    }
    cout << sum<<endl;
}
Run Code Online (Sandbox Code Playgroud)

对不起,我是C++的新手

c++ pascal input eof

4
推荐指数
2
解决办法
1101
查看次数

任何扫描代码并给出调用给定函数的函数列表的工具

这是我的问题,我正在整理一些我多年来修改过的旧代码并删除了redundent函数,

我可以用缓慢的方式来做它并将其注释掉,看看编译器是否会抛出错误.但我只是想知道是否有任何工具可以扫描代码并给出调用给定函数的函数列表.

我曾经看过ge-experts和icarus,但他们只在单位和类别的水平上执行此操作而不是功能.

欢迎任何建议,非常感谢,Brian

delphi pascal

4
推荐指数
2
解决办法
1199
查看次数

将字符串变量写入剪贴板

我马上就承认,至少可以说,我是帕斯卡尔缺乏经验的.所以,我能得到的任何帮助将不胜感激.:)

作为更大程序的一部分,我需要将一个字符串变量写入剪贴板.我在Lazarus(版本1.0.12)中创建了一个新项目,所以我可以尝试弄清楚如何在没有由额外的,不必要的代码引起的复杂性的情况下这样做,我在下面包含了这些:

program varToClipboard;

uses Clipbrd;

var
    textToCopy:string;

begin
    textToCopy := 'Test text from Pascal';

    Clipboard.AsText := textToCopy;
end.  
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,以及所需的LCLBase依赖项,我在运行编译的EXE时在CMD中收到以下错误:

An unhandled exception occurred at $000000000043D45E :
EAccessViolation : Access violation
  $000000000043D45E  CLIPBOARDREGISTERFORMAT,  line 98 of ./include/lclintf.inc
  $000000000043C35B  PREDEFINEDCLIPBOARDFORMAT,  line 185 of lclintf.pas
  $0000000000415B0C  TCLIPBOARD__SETASTEXT,  line 452 of ./include/clipbrd.inc
  $0000000000401802  main,  line 12 of varToClipboard.lpr
Run Code Online (Sandbox Code Playgroud)

根据文档,我似乎做得很对.尽管如此,我发现文档缺乏时间.

 

另外,我必须做什么才能运行已编译的EXE(只生成并将字符串写入剪贴板)而不会弹出控制台窗口?

clipboard pascal freepascal lazarus

4
推荐指数
1
解决办法
1246
查看次数

如何在Inno Setup中捕获OleObject异常?

所以我尝试使用下一个修改过的代码发出没有互联网连接的帖子请求:

      WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      WinHttpReq.Open('POST', '<your_web_server>', false);
      WinHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      try
        WinHttpReq.Send('data');
      except
           bla:= 'e';
      finally
           bla := 'f';
      end;
Run Code Online (Sandbox Code Playgroud)

然而异常并没有被抓住,我对下一张图片的设置应用程序感到迷恋:

在此输入图像描述

如何在Inno Setup中处理OleObject异常?

winapi pascal ole inno-setup exception

4
推荐指数
1
解决办法
983
查看次数

在Delphi中将枚举值转换为整数

是否可以在Delphi中将枚举值转换/转换为Integer?

如果是,那怎么样?

delphi pascal integer enumeration

4
推荐指数
2
解决办法
1万
查看次数

代码编辑器中的这句话{$ R*.dfm}是什么?

{$R *.dfm}代码编辑器中的这个短语是什么?

我试过这个:

//{$R *.dfm}
Run Code Online (Sandbox Code Playgroud)

delphi pascal

4
推荐指数
1
解决办法
129
查看次数