delphi,函数的调用和传参,求解。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi,函数的调用和传参,求解。相关的知识,希望对你有一定的参考价值。

procedure TForm1.RadioButton1Click(Sender: TObject);
十进制转换成二进制
var
aInt:integer;
begin
aInt:=StrToInt(Edit2.Text);
Edit2.Text:=IntToBin(aInt);
end;
function IntToBin(const aInt : Integer):string;
var
s:string;
i,j:Integer;
begin

s:='';
Result:='';
i:=aInt;
while i>=2 do
begin
s:=s + IntToStr(i mod 2);
i:=i div 2;
end;
s:=s + IntToStr(i);
s:=s+IntToStr(i);
i:=Length(s);
if i < 4 then
s := s + Copy('000 ',1,4-i);
i:=Length(s);
for j:=i downto 1 do
Result := Result + s[j];
end;
我想从Edit1里输入一个数,然后传参给IntToBin,经过计算,然后返回最终值,由Edit2输出,请问上面的代码该怎修改呢?

参考技术A aInt:=StrToInt(Edit2.Text);
改成
aInt:=StrToInt(Edit1.Text);
参考技术B 如果你用的是360,那么这段代码会报木马,因为用了shl,可以不用理会
整型本身就是一个4字节的2进制数,所以,直接按2进制来处理,不用这么麻烦

procedure TForm1.Button1Click(Sender: TObject);
var i,n: Integer;
begin
Edit2.Clear;

if not TryStrToInt(Edit1.Text,n) then exit; //赋值给n,如果失败直接退出

for i:=1 to sizeof(n)*8 do
begin
if (n and $80000000)=0 then
Edit2.Text := Edit2.Text + '0'
else
Edit2.Text := Edit2.Text + '1';

n := n shl 1; //左移一位

end;
end;本回答被提问者采纳

app之间的跳转和传参问题

app 之间跳转和传参;

首先 创建2个app   formApp (需要跳转到另外app的项目)     toApp(被跳转的项目)

 

一:在toApp 项目中的操作:

 

1:创建URLSchemes ,

(1).打开info.plist文件,

2. 在appdelegate.m 中 

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    /**
     如果使用URL 传参数
     */
    NSLog(@"----formApp_URL:%@",url);
    
    /**
     如果使用的是剪切板传参的话,
     */
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    NSString *content = pasteboard.string;
    NSLog(@"剪切板获取参数:%@",content);
    
    /**
     其他操作
     */
    
    return YES;
}

 

二:在formApp中的操作

 

1.检测 设备 是否安装了toApp 了,并跳转

/**
 跳转操作
 */
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    /**
     toApp Schemes://
     */
    NSString *toAppSchemes = @"willToAppURLSchemes://";
    
    /**
    检测设备 是否安装toApp
     */
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:toAppSchemes]]) {
        
        NSLog(@"alearly install");
        
        /**
         跳转app
         */
        
        /**
         1:使用URL 传递参数
         */
        if ([self IOS10]) {
            
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?usrid=110",toAppSchemes]] options:@{} completionHandler:^(BOOL success) {
                /**
                  成功跳转后的操作
                 */
            }];
        }else{
        
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?usrid=110",toAppSchemes]]];
        }
        
        
//        /**
//         2:使用剪切板传递参数
//         */
//        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:toAppSchemes]];
//        /**
//         系统剪切板 (在topApp中 接受到参数后,清空)
//         */
//        UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
//    pasteboard.string = @"user=120&orderid=123456";
        
    }else{
        
        NSLog(@"not install");
    }
}

/**
 判断 系统是否 大于10
 */
- (BOOL)IOS10
{
    return  ([[[UIDevice currentDevice] systemVersion] floatValue]) >= 10 ? YES : NO;
}

 

 

2:注意 在检测是否安装时,在xcode7 和iOS9 之后 需要设置白名单,

打开formApp info.plist文件,添加 LSApplicationQueriesSchemes

 

 

这样就可以成功检测到 是否安装toApp了,

 

3. 在传参数的方式 除了 URL,剪切板,还有钥匙串等,想知道更多的方式或详细的,可以搜索--> app之间的通信

 

以上是关于delphi,函数的调用和传参,求解。的主要内容,如果未能解决你的问题,请参考以下文章

使用callapply和bind解决js中烦人的this,事件绑定时的this和传参问题

python函数传参是传值还是传引用?

python中给函数传参是传值还是传引用

C语言函数中的传值和传址

delphi中调用.OCX怎样进行的?万分感谢!

c语言 指针传参