这更像是一个面向业务的编程问题,我似乎无法弄清楚如何解决.我与一个与BASIC合作超过20年的程序员团队合作.我被引进来帮助在.NET中编写相同的软件,只有更新和现代实践.问题是,我似乎无法让任何其他3个团队成员(所有BASIC程序员,尽管现在也有.NET)了解如何正确地执行关系数据库.这是他们不理解的事情:
我们基本上有一个跟踪客户标签信息的交易.我们需要能够跟踪当前交易和过去的交易.在旧系统中,使用平面文件数据库,其具有包含客户的基本当前交易的记录的一个表,以及包含客户的所有先前交易以及重要货币信息的另一个交易.为了防止冗余,他们会用历史记录事务覆盖当前事务 - (历史文件首先更新,然后更新当前事务.)这是完全不必要的,因为你只需要一个事务表,但我的主管或我的其他任何两个co工作者似乎无法理解这一点.我怎么能说服他们看到光线让我们赢了' 必须做大量的工作并最终击中数据表太多次?感谢您的投入!
所以,我想在Commodore 64 BASIC中编写更大的函数.到目前为止,从我从其他来源(例如各种C64 wiki,以及C64本身的用户手册)看到的,函数定义只能是一行.也就是说,我似乎无法在BASIC中找到括号中的类似构造/其他语言用于描述代码块的其他内容.
有谁知道我如何在BASIC中编写多行代码块?
单行功能示例:
10 def fn X(n) = n + 1
20 print fn X(5) rem Correctly called function. This will output 6
Run Code Online (Sandbox Code Playgroud)
但我做不了类似的事情:
10 def fn X(n) =
20 n = n + 1
30 print n
40 rem I'd like the definition of function X to end at line 30 above
50 fn X(5) rem Produces syntax error on line 40
Run Code Online (Sandbox Code Playgroud)
感谢您的时间!
我有一个旧的.bas文件,我正在尝试查看并遇到一些问题.在线搜索似乎表明我应该能够在记事本或类似的情况下打开它,但这样做会给我带来胡言乱语,如下所示:
þ*©¿TÜ…7[/C̸yõ»€¹Ù<Ñ~Æ-$Ì™}³nFuJ,ÖYòÎg)ʇŒ~НDËðïþSnhœJN
‰=É™2+df”c).vX»[šû'Û9¹8%ñx5m#8úV4ÊBº)Eª;Iú¹ó‹|àÆ„72@ާi§Ë @îÑ?
í‘ú™ÞMÖæÕjYе‘_¢y<…7i$°Ò.ÃÅR×ÒTÒç_yÄÐ
}+d&jQ *YòÎg)ʇŒ~НDË?úŽ©Ž5\šm€S{ÔÍo—#ìôÔ”ÜÍѱ]ʵ¬0wêÂLª¡öm@Å„Ws雦 X
Ô¶æ¯÷¦É®jÛ ¼§
”n ŸëÆf¿´ó½4ÂäÌ3§Œ®
Run Code Online (Sandbox Code Playgroud)
我知道文件是合理的,因为我可以在Gwbasic中打开它.但是,列表似乎也无法查看文件.我还尝试从Gwbasic中以ascii格式保存文件,但这也不起作用.两者都给了我一个"非法函数调用"错误:
GW-BASIC 3.22
(C) Copyright Microsoft 1983,1984,1986,1987
60300 Bytes free
Ok
LOAD"Pwrharm
Ok
LIST
Illegal function call
Ok
SAVE "Pwrharm2",A
Illegal function call
Ok
RUN
[Program runs successfully]
Run Code Online (Sandbox Code Playgroud)
再次,RUN命令工作得很好.我究竟做错了什么?
为什么我们要END IF在这个程序中写语句呢?不用写,我们就可以轻松得到我们的结果。有没有什么例子可以解释一下END IFstatement的用法?
我已经尝试过这个:
INPUT X
IF X>10 THEN PRINT "X IS GREATER THAN 10" ELSE PRINT "X IS NOT GREATER THAN 10"
END
Run Code Online (Sandbox Code Playgroud)
那么我也得到了预期的结果。
真正的代码是:
INPUT X
IF X>10 THEN
PRINT "X IS GREATER THAN 10"
ELSE
PRINT "X IS NOT GREATER THAN 10"
END IF
END
Run Code Online (Sandbox Code Playgroud)
预期和期望
的示例:
WhenX=5Then 输出将为“X IS NOT GREATER THAN10”。
我最近购买了一台 c64 mini,并尝试使用 Turbo Macro Pro v1.2 编写一些程序集。
在开发 hello world 程序时,我发现了一个使用自动运行 BASIC 标头的教程。
我还尝试添加 PRINT CHR$(147) 来清除屏幕,但出现内存不足错误。
原始的 BASIC 标头是:
*=$0801
.byte $0c, $08, $0a, $00, $9e, $20
.byte $34, $30, $39, $36, $00, $00
.byte $00
Run Code Online (Sandbox Code Playgroud)
我将其修改为:
*=$0801
.byte $0e, $08, $0a, $00, $99, $20
.byte $c7, $28, $31, $34, $37, $29
.byte $00,
.byte $19, $08, $14, $00, $9e, $20
.byte $34, $30, $39, $36, $00, $00
.byte $00
Run Code Online (Sandbox Code Playgroud)
当我从 TMP 组装并运行然后输入 LIST 时,我得到,
10 PRINT CHR$(147) …Run Code Online (Sandbox Code Playgroud) 除Visual Basic之外,还可以使用哪些免费的IDE?
是否有任何与BASIC兼容的免费软件QBASIC IDE?
我正在TI-Basic中编写一个简单的Pong游戏,但编辑器不会让我在我已编写的代码中插入一行.
例如
print "Hello world"
<--Where I want to insert the code
print "hello again"
x = 5
Run Code Online (Sandbox Code Playgroud)
如果我尝试插入代码,它只是写入以前的代码,我不能创建一个新的行.
我需要在 Visual Basic 中执行 cmd 命令。这并不难,但我需要在外部程序运行时给出一个参数。
F:\mysql-5.7.13-winx64\bin\mysqldump.exe -h <ip> -u <user> -p <database> > abcd.sql
Run Code Online (Sandbox Code Playgroud)
但执行后,程序会要求输入密码。那么我该怎么做呢?
问候,多米尼克
我想尝试各种算法的效率,编译器优化是一个障碍。我可以在 QB64 中禁用编译器优化吗?
我正在介绍WGU的IT课程。根据我得到的测验结果,Javascript不是高级语言,而BASIC是高级语言。不是Visual Basic,不是Quick Basic,传统的BASIC是比Javascript更高级的语言。任何人都可以合理化吗?幽默感激。