array of pchar问题 [问题点数:20分]

Bbs5
本版专家分:3747
结帖率 93.55%
对Array Of PChar赋值的问题
环境:delphi2007+win7rn代码:rn[code=Delphi(Pascal)]rnConstrn count: Integer = 10;rnVarrn i: Integer;rn sArray: Array[0..10] Of PChar;rnBeginrn For i := 0 To count - 1 Dorn sArray[i] := PChar('名称'+IntToStr(i));rn For i := 0 To count - 1 Dorn Memo1.Lines.Add(sArray[i]);rnEnd;rn[/code]rnrn这段代码,我预想得到的应该是rn名称0rn。。。rn名称9rnrn结果实际得到的rnrn名称rn名称9rn名称rn名称9rn名称rn名称9rn名称rn名称9rn名称rn名称9rnrn把数据类型由<em>array</em> of <em>pchar</em>改成<em>array</em> of string就没事了rnrn哪位兄弟百忙之中能帮忙一下?rn
sFiles: array of PChar用法
rtrn如何获取sFiles的数量,如何遍历获取所有的文件名,没用过指针,大家指教
array of PChar初始化
rtrn如何初始化rn谢谢
请问Filebuf: array of pchar的含义
在程序中有下面两行rn......rnFilebuf: <em>array</em> of <em>pchar</em>rn......rnSetLength(FileBuf,10);//设置动态数组的长度;rn......rnrn<em>问题</em>:rnFilebuf: <em>array</em> of <em>pchar</em>----定义动态数组rnSetLength(FileBuf,10)------设置动态数组的长度;rnrn请问,运行了上面两行后,是不是在内存里建立了一个名为Filebuf的数组,数组里有10个元素,每个元素均是指针(指向字符),这样理解对吗?
buff: array[1..64*1024] of PChar; 读成string ?
<em>pchar</em>的内容属于1个c语言写的类rn如果用char代替,只能读到静态内容rn我需要读动态内存数据
PCHAR的问题
PCHAR与CHAR的区别能给我讲讲吗?rn我将内存中的字符串通过GETMEM赋给PCHAR类型的变量,将它SHOWMESSAGE的时候为什么有时候出错,有时候不出错呢?
PChar 的问题?
rn PChar 的<em>问题</em>?rnrn ===============================================================================rn[函数]: GetIpRoomMappingrn[参数]: OutIps - 返回IP字符串,OutRooms - 返回的RoomNo字符串rn[功能]: 取Room表IP对应的Roomnorn[返回]: NULLrn[说明]: 支持多一房多IP改动rn[程序]: lxj_comrn[日期]: 2006-11-18 15:00 last: 2006-11-18 15:00rn-------------------------------------------------------------------------------rnprocedure Tdm.GetIpRoomMapping(OutIps: pChar; OutRooms: pChar);rnvarrn strsql:string;rn strIp,strtmp:string;rn strroom,s:string;rn i:integer;rnbeginrn strroom := '';rn strIp := '';rnrn strsql := ' SELECT IPAddress,RoomNo FROM VOD_View '; //ORDER BY RoomNornrn qrTmp.Close;rn qrTmp.SQL.Text := strsql;rn qrTmp.Open;rnrn for i:=0 to qrTmp.RecordCount-1 dorn beginrn strtmp := PChar(trim(qrTmp.FieldByName('IPAddress').AsString));rn s := PChar(trim(qrTmp.FieldByName('Roomno').AsString));rnrn strIp := strIp + strtmp;rn strroom := (s + strroom);rnrn qrTmp.Next;rn end;rnrn StrCopy(OutIps, PChar(strIP));rn StrCopy(OutRooms, PChar(strroom));rnend;rnrn 函数返回后,OutIps只有255个字符了,但是strIp的字符是无限长的字符串,rn 怎么处理呀!rn PChar是怎么理解的???rnrn
PCHAR
请问谁知道PCHAR这个函数的功能呀rn还有BYTE类型的数据有什么用呀rn谢谢
pchar????
copyfile函数需要<em>pchar</em>参数.现在有源文件和目的文件的路径,两个字符串变量.比如说是sf,mf,这个函数该怎么写才对
Array,ArrayList排序问题
有一String Array叫arrrn使用Arrays.sort(arr)rn再处理过后add迈ArrayList叫alrn[code=Java]rnfor(int i=0;i
pChar的问题和CreadThread()问题.
1.程序如下:rnprocedure ThreadTest(strTest : string);rnbeginrn RichEdit1.Lines.Add(strTest);rnend;rn//rn//rnprocedure TfrmMain.Button1Click(Sender: TObject);rnvarrn strTest : string;rn ThreadId : DWORD;rnbeginrn strTest := 'This is a test';rn rn CreateThread(nil, 0, @ThreadTest, pChar(strTest), 0, ThreadId);rnend;rn编译没<em>问题</em>,但是运行的结果总是不正确,设断点,ctrl+F7看变量的变化发现,原来strTest的值是'This is a test',但是不知道为什么pChar(strTest)后,strTest :=''.是什么导致了这个<em>问题</em>的出现呢?还有应该怎么解决?请各位帮忙,谢谢.rn//rn//rn//rn2.rn程序如下:rnunit Unit1;rnrninterfacernrnusesrn Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,rn Dialogs, StdCtrls, ComCtrls,Unit2;rnrntypern TForm1 = class(TForm)rn Button1: TButton;rn Memo1: TMemo;rn procedure FormCreate(Sender: TObject);rn procedure Button1Click(Sender: TObject);rnrn privatern Private declarations rn publicrn Public declarations rn end;rnrnvarrn Form1: TForm1;rnrnimplementationrnrn$R *.dfmrnrnprocedure TForm1.Button1Click(Sender: TObject);rnvarrn test : TTest;rn ThreadId : DWORD;rnbeginrn test := TTest.Create;rnrn CreateThread(nil, 0, @test.ThreadTest, nil, 0, ThreadId);rnend;rnrnend.rn//rn//-----------------------------------------------------------------------------------rn//rnunit Unit2;rnrninterfacernrntype TTest = classrn procedure ThreadTest;rnend;rnrnimplementationrnrnuses Unit1;rnrn TTest rnprocedure TTest.ThreadTest;rnbeginrn Form1.Memo1.Lines.Add('Thread test OK.');rnend;rnrnend.rnrn编译的时候出现错误:[Error] Unit1.pas(166): Variable requiredrn [Fatal Error] Unit2.pas(11): Could not compile used unit 'Unit1'rnrn原因是什么?该怎么解决呢?谢谢.rnrnrn
提个古老的PCHAR问题
我希望从一个文本文件读出来后,写到另一个文件,但我发现一旦原始文本文件过大,(超过3k左右),那么保存下来的文件中就是乱码(如果是小文件就没有<em>问题</em>),记得以前解决过这个<em>问题</em>,但没有保留,现在时间紧迫,望各位仁兄帮忙。rnvarrn iFileHandle,newf: Integer;rn iFileLength: Integer;rn iBytesRead: Integer;rn Buffer: PChar;rn Buffer1: String;rn i: Integer;rnbeginrn tryrn iFileHandle := FileOpen('c:\test.xml', fmOpenRead);//打开一个老文件rn newf:=fileCreate('c:\test1.txt');//打开一个新文件rn iFileLength := FileSeek(iFileHandle,0,2);//读取老文件大小rn FileSeek(iFileHandle,0,0);//回到文件头rn Buffer := PChar(AllocMem(iFileLength));分配空间rn iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);//读取老文件rn fileWrite(newf,Buffer,iFileLength);//写到新文件中rn FileClose(iFileHandle);rn FileClose(newf);rn exceptrn ShowMessage('eerror');rn end;rn FreeMem(Buffer);rn感觉好像是内存分配的<em>问题</em>,但想不起来怎么解决的了。rnrnrn
PChar赋值的问题
function GetHostCallerId():PChar;rnvarrn pBuf:PChar;rn Ms:PChar;rn BS: string;rnbeginrn GetMem(pBuf,100); //要用这个函数。rn rn //我想把'abc'赋值给pBuf,怎么做?即pBuf指向的地址里的内容是'abc'rn pBuf:='abc'; //我知道这样是错的。其得到了'abc'的地址。rn FreeMem(pBuf);rnrn result:=Ms;rnend;
指针的指针的问题 ^pchar
procedure TForm1.btn1Click(Sender: TObject);rntypern rd=recordrn i:^<em>pchar</em>;rn end;rnvarrn a:char;rn pa:<em>pchar</em>;rn p:^<em>pchar</em>;rn r1:rd;rnbeginrn a:='w';rn pa := @a;rn r1.i :=@pa;rn p:= Pointer(r1.i);//若写为p:=r1.i则编译时提示:Incompatible types,为啥?rn caption := p^^;rnend;
PCHAR定义问题
MOV EAX,DOWRD_115694ChrnMOV EAX,[EAX+60h]rnrn#define vbx *(PDWORD)(*(PDWORD)0x115694C + 0x60) // EAX的DOWRD值rnrnSetDlgItemInt(hwnd, IDC_S_ZBX, vbx, 0); //窗口显示值rn=====================================================================rnMOV EAX,DOWRD_115694ChrnLEA EAX,[EAX+60h] //如果EAX是个PCHARrnrnrn下面 vbx rn#define vbx *(PDWORD)0x115694C + 0x60 // EAX的值rnrn[color=#FF0000]//或者该如何定义呢rnSetDlgItemTextA(hwnd, IDC_E_XG2, vbx); //??<em>问题</em>作为PCHAR的vbx如何显示呢[/color]
请教Pchar和字符数组的问题
请帮忙看看以下程序哪块有<em>问题</em>?rnvarrn tmpArray:<em>array</em>[0..1024] of Byte;rn i: integer;rn tmpStr:string;rn pStr:PChar;rnbeginrn tmpStr:= 'abcd';rn pStr:=@tmpstr; //此步将tmpstr地址赋给pStrrn Dec(PStr);rn for i:=0 to Length(tmpStr)-1 dorn beginrn inc(PStr);rn tmpArray[i]:=Byte(PStr^);rn resieveString:=resieveString+IntTostr(Ord(tmpArray[i]));rn end;rnend;
怎样把一个string赋值给一个array of pchar
怎样把一个string赋值给一个<em>array</em> of <em>pchar</em>
PCHAR指针的一个问题
请问各大侠,PCHAR作用及解释。
关于 pchar 和string的问题
为什么字符串'aaa' 可以直接赋值给 string , ‘aaa’也可以直接赋值给pcahr 但是 在设了一个中间变量 t:string 时候 先把'aaa'给t ,然后 t 无法赋值给 <em>pchar</em>?
Pchar操作问题
小弟对指针理解不深刻,请各位大侠帮我想想这样的代码该如何实现rnp:<em>array</em>[0..31] of char;rnstr:string;rnrnstr:='01,02,03,05';rnp指向str的地址,限制把p按逗号分为p1[0]='01',p[1]='02'.....等rnrn该怎么实现啊 不胜感激!
PChar的函数调用问题
我有一个函数,里面用了一个PChar变量CallerIDrnvarrn CallerID: <em>pchar</em>;rnbeginrn TV_Initialize; rn CallerID := ''; //下一次接听的时候,CallerID和上次的一样rn StatusBar.Panels[1].Text := '等待来电...';rn StatusBar.Repaint;rn repeatrn if aStart.Enabled = true then exit;rn if TV_RingDetect(C_Index) > 1 the //检测到振铃rn TV_ReceiveCallingID(C_Index, CallerID, 16); //获取主叫号码rn FCallerID := String(CallerID);rn Application.ProcessMessages;rn until FCallerID <> '';rnend;rnrn假设我第一次调用的时候CallerID是'1234567',到第二次我再调用的时候,执行CallerID := ''后,CallerID和第一次的一样.rn请问怎么才能将CallerID初始化,怎么解决这个<em>问题</em>
PCHAR 和 String 的问题
Delphi 中, String 跟 PChar 的相互变换是知道不少的. rn但是我在Delphi的底层代码当中看见一个变换: rnfunction XXXFunc( S: String );rnvarrn P: PChar;rnbeginrn P := PChar(S);rnend;rnrnrn以上这段代码, 在普通情况下面, 是不会有错误发生的.rn但是在某种特殊的情况下, 就出现<em>问题</em>了rn比如说: 传进来的S, 只有一个字符的时候, 即 S := 'a';rnrn那么对P[0]的访问, 根本就不是a, 而是不能识别的编码. rn但如果 S := 'ab'; 的话, P是能够正确指向字符串 'ab'的, 而且一切访问正常, P[0] = S[1] = Char('a')rn可恶的时, StrCopy 却又能够在任何情况下依旧复制正确. 晕!rnrn有没有哪位高手能够解说出个中的原由. ( 只是想知道为何, 既然普通的 PChar(String) 能够变换正确, 而为何偏偏只有一个单字符的时候会错呢? )rnrn具体情况如下:rn其实我是在写组件的时候, 比如说: 继承TLabel, 派生也 TXXLabel.rn有一个函数, 是返回读取Caption属性, 并且传出的时PChar类型rn然后发现, 当Capiton = 'aaa' 的时候, 传出来的PChar是很正常指向一个字符串的rn但是, 当Caption = 'a'的时候, PChar指向的是一个乱码 rn有哪位高手指点指点?rnrnrnrnrnrnrn
PChar , Integer and string 问题
varrn S: string;rn I: Integer;rnbeginrn S := 'abc';rn S := PChar(S);rn Memo1.Lines.Add(S);rn I := Integer(S);rn Memo1.Lines.Add(IntToStr(I));//这里为什么会出现数子rn S := 'abc';rn Memo1.Lines.Add(IntToStr(Integer(PChar(S))));//这里为什么还是数子,而且跟上面的数子不一样rnend;
关于Pchar及字符数组的问题
如何给widechar初始化?
PChar的比较问题!~
我用的是两个<em>pchar</em>变量比较,一开始<em>pchar</em>1=<em>pchar</em>2的方法,发现没有用,似乎结果总是不相同。。。接下来我用strcomp函数则可以根据返回值判断是否相同,请问为什么?
字符与PChar类型转换问题
有函数为:LoadKey(Num,key),其中Num为整型数据,Key为Pchar类型。现在在界面上有rnKey是可以写入的十六进制Edit框填入,如:框中填入ffffff后,将函数赋值为:rn LoadKey(1,#$ff#$ff#$ff)后可以过去,但是Edit框是不停写入的,如何将key当成rn参数后,将Edit框制赋给它?
PChar的函数调用简单问题
我有一个函数,里面用了一个PChar变量CallerIDrnvarrn CallerID: <em>pchar</em>;rnbeginrn TV_Initialize; rn CallerID := ''; //下一次接听的时候,CallerID和上次的一样rn StatusBar.Panels[1].Text := '等待来电...';rn StatusBar.Repaint;rn repeatrn if aStart.Enabled = true then exit;rn if TV_RingDetect(C_Index) > 1 the //检测到振铃rn TV_ReceiveCallingID(C_Index, CallerID, 16); //获取主叫号码rn FCallerID := String(CallerID);rn Application.ProcessMessages;rn until FCallerID <> '';rnend;rnrn假设我第一次调用的时候CallerID是'1234567',到第二次我再调用的时候,执行CallerID := ''后,CallerID和第一次的一样.rn请问怎么才能将CallerID初始化,怎么解决这个<em>问题</em>
pchar如何转化为byte类型的array数组?
各位高人:rn 我碰到这样一个<em>问题</em>:我有一个Pchar类型的值,如〔‘^’,#252,‘Q’,‘M’,#24,#228,。。。。。。。,#224,#0〕rn 现在我想把这组数据转化为byte类型的<em>array</em>数组,该如何做?rn 有人说,可以先转化成PBYTEARRAY,但是<em>pchar</em>如何转成Pbyte<em>array</em>呢?rn 先谢谢各位!
如何把 pchar 赋值为 array[0..1024] of char
procedure TfrmDemoMain.Button4Click(Sender: TObject);rnvarrn ret, len, i: integer;rn bdatetime, edatetime, roomstr: <em>array</em>[0..1024] of char;rn s,e,rm:string;rnbeginrn len := 0;rn s:=edit1.Text;rn rnrn我用下面的代码rnCopyMemory(bdatetime, PChar(S), Length(s));rnrn通不过rn请问要怎么才能把 edit1 里面的信息 赋值到 bdatetime 里面 ?rn谢谢!
string,array[]of char,pchar 这三个类型的字符串怎么互相转换?
string,<em>array</em>[]of char,<em>pchar</em> 这三个类型的字符串怎么互相转换?
如何把: buff: array[1..64*1024] of PChar; 读成string ?
真麻烦,rn是用来查看内存的1个数组
delphi Pchar Dll 的问题
我在调用vc的dll的时候需要传入一个Pchar参数 ControlName 。如果写成如下能成立,Dll调用成功。rn k:='192.168.1.221'+#13+'9001'+#13;rn ControlName:=<em>pchar</em>(k);rn但是我需要的是拼装出来的,写成下面这种形式就不对了,Dll调用说参数不符合。rnm:='192.168.1.221';rnn:='9001';rnk:=m+#13+n+#13;rnControlName:=<em>pchar</em>(k);rn
pchar 参数传递的问题
函数声明:---输出到dllrnrnFunction getruimeiserial(unit:<em>pchar</em>;ins:<em>pchar</em>;spass:<em>pchar</em>;out s:<em>pchar</em>):<em>pchar</em>;stdcall;rnrnrn函数:rnrnFunction getruimeiserial(unit:<em>pchar</em>;ins:<em>pchar</em>;spass:<em>pchar</em>;out s:<em>pchar</em>):<em>pchar</em>;stdcall;rnvar tmp:char;rn sp:<em>pchar</em>;rn i,lens,values:integer;rn tmpstring:string;rn vbuffer:<em>array</em>[0..255] of char;rn rc:<em>pchar</em>;rnrnbeginrnrn if spass <> ‘1209’thenrn result := '0'rn elsern tryrn strecopy(strecopy(vbuffer,unit),ins);rn sp := vbuffer;rn values := 0;rn lens := length(sp);rn for i := 1 to lens dorn beginrn tmp := sp[i];rn values := values + ord(tmp);rn end;rnrn if values > 999999 then rn tmpstring := copy(inttostr(values),1,6)rn elsern tmpstring := inttostr(trunc(values * power(10,6 - length(inttostr(values)))));rn rc := Pchar(tmpstring + inttostr(trunc(256 - values mod 256)));rn s:= AllocMem(Length(rc)+1);rn strPcopy(skey,rc);rn s:= rc;rn result := Pchar(tmpstring + inttostr(trunc(256 - values mod 256)));rn exceptrn result := '0'rn endrnrnend;rnrnrnrn<em>问题</em>:rn引入参数s现在无法正常输出---乱码!rnrn前提:rn引入参数类型不能更改,因为要供其他工具语言调用!!!rnrn求解!!,谢谢
Delphi2009 PChar内存分配的问题
代码如下:rnrn[code=Delphi(Pascal)]rnusesrn Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,rn Dialogs, StdCtrls, ShareMem;rnvarrn P: Pchar;rn CSize: Cardinal;rnbeginrn CSize := MAX_COMPUTERNAME_LENGTH + 1;rn GetMem(P, CSIze);rn GetComputerName(P, CSIze);rn ShowMessage(P);rn FreeMem(P); rnend;rn[/code]rn执行到ShowMessage的时候提示rnAccess viloation at Address 20FF49C7 in module "borlnd.mm.dll". Write of Address 00560044rnrnrn[code=Delphi(Pascal)]rnusesrn Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,rn Dialogs, StdCtrls, ShareMem;rnvarrn P: Pchar;rn CSize: Cardinal;rnbeginrn CSize := MAX_COMPUTERNAME_LENGTH + 1;rn GetMem(P, CSIze);rn P := '4321';rn ShowMessage(P);rn FreeMem(P); rnend;rn[/code]rn执行到ShowMessage的时候提示rnInvalid Pointer operation
PChar转String问题
Char 用StringOfChar 分配空间后,从别的地方接收到一串HEX数据rn我用String := SetPas(Char)后,String中有数据,但是没有被引号引起来,再把它add到TMemo1中,TMemo1中什么都没有,怎么回事
DLL返回PCHAR问题
下面是DLL中的函数,pr_s是返回值,类型是PCHAR,返回时对时错,求解rnfunction func_16( var pr_s:<em>pchar</em>;ps1,ps2:<em>pchar</em>):integer;stdcall;rnvar r_s:string;rn itmp:integer;rn p:integer;rnbeginrn Result:=0;rn r_s:='var artexpname_s1="";';rn r_s:=re_str+'var artexpname_s2="";';rn r_s:=re_str+'var artexpname_s3="";';rn r_s:=re_str+'var artexpname_s4="";';rn r_s:=re_str+'var artexpname_s5="";';rn r_s:=re_str+'var artexpname_s6="";';rn r_s:=re_str+'var artexpname_s7="";';rn r_s:=re_str+'var artexpname_s8="";';rn r_s:=re_str+'var artexpname_s9="";';rn pr_s:=<em>pchar</em>(r_s);rnend;rn
使用Pchar类型的问题.
使用Pchar类型的<em>问题</em>:rn<em>pchar</em>类型变量之间怎么赋值阿?rn也即是说使用了strpos(str1,str2)函数之后,会返回一个<em>pchar</em>指针。Returns a pointer to the first occurrence of STR2 in STR1.rn然后我想要从返回的这个指针的位置开始再向后面搜索同样的str2。那么我应该怎么做阿?rnrn
Pchar和String的转换问题
定义如下:rnGroupArray:Array [1..100] of String;rnS:Pchar;rn对GroupArray数组附值以后进行如下操作:rnS:=Pcahr(concat(GroupArray[26],GroupArray[27],GroupArray[28],GroupArray[29],GroupArray[30],GroupArray[31],GroupArray[32]));rnshowmessage(S);rnshow出的值完全不正确,请问应如何操作
string Pchar byte[]的问题
遇到一个<em>问题</em>,好像和Pchar有关rndelphi的Pchar分配了内存rn address : <em>pchar</em>;rn Getmem(address,40);rnrn在JAVA中用byte[40]代替吗?rn还是用String?用String怎么指定和<em>pchar</em>一样大啊?rnrn谢谢各位!!rn
pchar()强制转换问题
varrn str: String;rn pch1, pch2: Pchar;rnbeginrn str := 'ABCDEF';rn pch1 := Pchar(Str);rn pch2 := @str;rn showmessage(inttostr(ord(pch1[0])));//65rn showmessage(inttostr(ord(pch2[0])));//204rnend;
Array问题
数组中getInt方法怎么用。如何往里面传递参数????rn可不可以给举个例子?
Array的问题
byte [] <em>array</em>1, <em>array</em>2[];rnbyte <em>array</em>3 [][];rnbyte[][] <em>array</em>4; rnIf each <em>array</em> has been initialized, which statement will cause a compiler error? rnA. <em>array</em>2 = <em>array</em>1;rnB. <em>array</em>2 = <em>array</em>3;rnC. <em>array</em>2 = <em>array</em>4;rnD. both A and BrnE. both A and CrnF. both B and CrnAnswer:A。注意<em>array</em>1是一维数组而<em>array</em>2是二维数组,一切就OK了
Array 问题
让用户输入学生总数和学生的成绩,程序得出学生的等级并且显示出来。rnGrade is "A" if score is >= best -10rnGrade is "B" if score is >= best -20rnGrade is "C" if score is >= best -30rnGrade is "D" if score is >= best -40rnGrade is "F" otherwise.rn示例如下rnEnter the number of students: 4rnEnter 4 scores:rn40rn55rn70rn58rnRESULTS ARE DISPLAYED BELOW:rnStudent 1 score is 40 and grade is CrnStudent 2 score is 55 and grade is BrnStudent 3 score is 70 and grade is ArnStudent 3 score is 58 and grade is Brn我写的代码如下,但是无法运行,不知道为什么rn[code=Java]import java.util.Scanner;rnpublic class grades rn public static void main(String[] args)rn Scanner input=new Scanner(System.in);rn System.out.print("Enter the number of students:");rn int z=input.nextInt();rn double[] scores=new double[z];rn System.out.print("Enter"+scores.length+"scores:");rn for (int i=0;i=90)rn System.out.println("Student "+i+"score is"+scores[i]+rn "and grad is A");rn else if (scores[i]>=80)rn System.out.println("Student "+i+"score is"+scores[i]+rn "and grad is B");rn else if (scores[i]>=70)rn System.out.println("Student "+i+"score is"+scores[i]+rn "and grad is c");rn else if (scores[i]>=60)rn System.out.println("Student "+i+"score is"+scores[i]+rn "and grad is D");rn elsern System.out.println("Student "+i+"score is"+scores[i]+rn "and grad is F");[/code]
Array 的问题
Array A 放了一组objectrnArray B 想复制A,但当采用 B=A的方式时,如果A里的内容变化了,B也接着变了rnrn采用B= new Array(A)时,B里的内容为空。rnrn究竟要怎样才能把一个Array存在另一个里呢?
delphi中String,PChar,PByte,Array of Char,Array of Byte 互相转换
delphi中String,PChar,PByte,Array of Char,Array of Byte 之间的互相转换
(array)问题
今天在写一个购物车的时候用到foreach函数,后面提示错误,我忘记掉英语是什么了,不过我估计是foreach()里面的数组如果为空的话有的时候会出现那种错误,就在网上找了一下答案,一个网友说在数组前面加(<em>array</em>)可以避免这个错误,我试了一下,真的可以,现在就是不明白(<em>array</em>)是什么作用,rn可能我没说明白,foreach($<em>array</em> as $key=>$value)这样的话如果$<em>array</em>数值为空有时会提示错误,如果改成foreach((<em>array</em>)$<em>array</em> as $key=>$value)就不会了,想请问一下这个(<em>array</em>)是什么用?
〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉array问题
运行下面代码,出现错误提示:rn其他信息: 在对应所需名称或序数的集合中,未找到项目。 rn如何更改???rnrnrnPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clickrn Dim rs As New ADODB.Recordsetrn rs.CursorLocation = ADODB.CursorLocationEnum.adUseClientrnrnrn rs.Fields.Append("WASSN_ID", ADODB.DataTypeEnum.adInteger, -1, 0)rn rs.Fields.Append("TASK_NAME", ADODB.DataTypeEnum.adVarWChar, -1, 0)rn rs.Fields.Append("ASSN_START_DATE", ADODB.DataTypeEnum.adDate, -1, 0)rn rs.Fields.Append("ASSN_FINISH_DATE", ADODB.DataTypeEnum.adDate, -1, 0)rn rs.Fields.Append("ASSN_WORK", ADODB.DataTypeEnum.adInteger, -1, 0)rn rs.Fields.Append("ASSN_REM_WORK", ADODB.DataTypeEnum.adInteger, -1, 0)rn rs.Fields.Append("WASSN_PCT_COMP", ADODB.DataTypeEnum.adInteger, -1, 0)rn rs.Open()rnrnrn Dim fieldnames As Array = Array.CreateInstance(GetType(String), 7)rnrn fieldnames.SetValue("WASSN_ID", 0)rn fieldnames.SetValue("TASK_NAME", 1)rn fieldnames.SetValue("ASSN_START_DATE", 2)rn fieldnames.SetValue("ASSN_FINISH_DATE", 3)rn fieldnames.SetValue("ASSN_WORK", 4)rn fieldnames.SetValue("ASSN_REM_WORK", 5)rn fieldnames.SetValue("WASSN_PCT_COMP", 6)rnrnrn Dim fieldvalues As Array = Array.CreateInstance(GetType(String), 7)rnrn fieldvalues.SetValue("1", 0)rn fieldvalues.SetValue("Task1", 1)rn fieldvalues.SetValue("2006-3-18", 2)rn fieldvalues.SetValue("2006-3-23", 3)rn fieldvalues.SetValue("480000", 4)rn fieldvalues.SetValue("240000", 5)rn fieldvalues.SetValue("50", 6)rn rs.AddNew(fieldnames, fieldvalues)rn rs.Update()rnrn rn End Subrnrn
这几天烦死了,就是在做文件加密的问题!大家来讨论一下PChar,Array of Char,Array of Byte,String之间的相互转换问题
这些类型之间的相互转换,还有大家最好也来谈谈文件操作的<em>问题</em>!rn比如:rnAssignFilernResetrnReWriternAppdenrnCloseFilern//--------------------------------rnFileOpenrnFileCreaternFileClosern等这两类函数的用途和区别,最好有例子!rn分不够再加,欢迎大家来讨论!
关于参数问题!copyfile(pchar(file1),pchar(file2),false);
rn 我做了个DLL文件在ASP中调用,其中用到了CopyFile()函数,我本来是想在ASP文件指定路径,但是文件拷贝没rn有成功后来我在DLL中指定路径却能拷贝成功为什么会这样,怎么解决?rnrnunit copyf;rnrninterfacernrnusesrn ComObj, ActiveX, AspTlb, cjj_TLB, StdVcl, Windows,rn SysUtils, Classes, Controls, StdCtrls;rnrntypern TCopyFile = class(TASPObject, ICopyFile)rn protectedrn procedure Copyf(const File1, File2: WideString); safecall;rn end;rnrnimplementationrnrnuses ComServ;rnrnprocedure TCopyFile.Copyf(const File1, File2: WideString);rnbeginrn [blue]//CopyFile(PChar(File1),PChar(File2),False);[/blue]rn [red]CopyFile(PChar('\\yhl\test1\aa.txt'),PChar('d:\aa.txt'),False);[/red]rnend;rnrninitializationrn TAutoObjectFactory.Create(ComServer, TCopyFile, Class_CopyFile,rn ciMultiInstance, tmApartment);rnend.rnrnrn*************************rnasp filern*************************rnrnrn Testing Delphi ASP rnrn You should see the results of your Delphi Active Server method below rnrn rnrn rnrn
char* pchar和char *pchar有什么区别吗
哪种写法规范些rn
STRING TO PCHAR
STRING类型转化为PCHAR类型的<em>问题</em>哦,困扰很久了。rn用强制转换时会出<em>问题</em>,但用字符数组循环提取又太麻烦了。rn例如:rnFUNCTION TRANS:PCHAR;rnVARrn S,S1,S2:STRING;rnBEGINrn S:='';rn S1:='取值A';rn S:=S+S1;rn S2:='取值B';rn S:=S+S2;rn RESULT:=PCHAR(S);//会出<em>问题</em>!rnEND;rn该如何解决?讨论有分!rn
Pchar的概念
Pchar(s)是什么意思?rnrn另外 ss:Pchar 是什么啊!rnrnPchar是做什么的rn能给我详细说明下吗?
关于PChar
Point: PChar;rnDataBuf: Array[0..6] of TBlock;rnrnPoint := @DataBuf[0];rnrn我现在想把Point[0]的最高位屏蔽,请问应该怎么操作才能实现?rn
pchar与string
我现在遇到一个<em>问题</em>:我从串口上读到的数据是<em>pchar</em>型的,我需要转化为string型的进行显示,请问应该怎样转化?rn
数据类型转换:stringchar stringpchar charpchar
请抢答:)
string or pchar
小弟在编程过程.遇到一个<em>问题</em>要识别一个数是不是16进制的数.rnvarrn strRGB:string[6]rnbeginrnfor i:=0 to 5 dornbeginrn strRGB[i]:=copy(edit1.text,i+1,1);//怎么把字符串给分离开?rn //这样可以吗?rn case strRGB[i] of //*rn A:hex2dec:=10;rn B:rn ...rn F:hex2dec:=15;rn else hex2dec:=strRGB[i];rn end;rn但按F9后.报错说*处STRING和PCHAR不对应.请问该怎么办?rn
pchar怎样用
<em>pchar</em>怎样用,delphi指针怎样用
这个pchar!
据说rn为了兼容c要用<em>pchar</em>做参数,好吧,现在用<em>pchar</em>rnrnrnexe:rnvarrnfilename:<em>array</em>[0..255] of char;rnpfilename:<em>pchar</em>;rn函数rnbeginrnfilename[0]:=chr(0);rnpfilename:=@filename[0];rnfun(pfilename);rnend;rnrndll:rnfun(pfilename);rnbeginrnif pfilename='' then .... // 这句为什么不执行? 调试时确实是 pfilename='' 但跳过了rnend;
pchar请教
如果用rnvar tx:<em>pchar</em>;rntx='123456435';rn再调用getsystendirectory(tx,20);就不行。rn但用getmem(tx,20);rn再调用getsystendirectory(tx,20);就可以。rn请问为什么?rn我不能理解。
String -> PChar
需要调用一个APIrn用字符串拼参数的时候提示类型不兼容
PChar类型
请问以下用可不可以把它当String用,需要释放吗?
Pchar !!! 搞不定了
:::Delphi7 rnrnvarrn DataBuff: Pchar;rnbeginrn GetMem(DataBuff, 10);//DataBuff到底可以存放几个字符?rn //...rn FreeMem(DataBuff);rnend;rnrn我测试DataBuff可以存放任意字符,与10无关,为什么?rnrn再有rnDataBuff:=Stralloc(10)rnStrDispose(DataBuff);rnrn这两组我用哪个?
PChar的用法
在写这个<em>问题</em>这前我也看了关于PChar方面的资料,但都不是我想要的.我只想知道我下面的代码为什么会出错,请大家给一个解释就行了.rnrnvarrn PStr: PChar;rnbeginrn GetMem(PStr, 225);rn PStr := PChar('abc');rn FreeMem(PStr);rnend;rnrn 就是这短短的三行代码,可是他出了错,运行不了.
pchar的用法
我定义了四个PCHAR类型:result1,resut2,result3,result4.再使用我想灵活控制这四个变量。所以我在程序中使用了‘result'+i,(i=1,2,3,4).结果报错提示PCHAR类型不能像字符串一样使用连接符+。我的想法是先将这四个PCHAR转换成STRING。然后使用上面的方法。我的<em>问题</em>是如何将PCHAR转换为字符串?或者如何不将PCHAR转换而直接使用上面定义
Delphi PChar && String 出现的问题
function mf_AddZero_Righ(ShuJuP:PChar;ChangDu:Integer):PChar;rnvarrn restr:string;rn strlength,i:integer;rn ShuJu:string;rnbeginrn ShuJu:=strpas(ShuJuP);rn restr:=ShuJu;rn strlength:= Length(ShuJu);rn for i:= strlength to ChangDu-1 dorn beginrn restr:='0'+restr;rn end;rn Result:=PChar(restr);rnend;rn这里一个完成左起补齐字符串的 function ,在测试中发现 rn .......rn mf_AddZero_Righ('3',9);rn .......rn 得到的结果是 000000003rn .......rn mf_AddZero_Righ('123456789',9);rn 得到是结果却是 12345678 rn 高手们这是问什么哪 ???
关于PChar长度太短的问题
我现在需要写一个 函数,然后将函数封装到DLL里面,在Form里面我的字符串是使用string,但是DLL里面我使用PChar后就会出现错误。后来我发现是PChar的长度不够。rnrn函数如下:rnfunction fun(Html:PChar):PChar;stdcall;rnrn我在delphi里面另外做一个窗体项目,然后调用这个DLL里面的fun函数就会出现错误。我需要处理比较长的字符串,所以我现在不知道该怎么办。我的函数是用来处理HTML页面的,我需要将HTML代码传入函数。rnrn错误代码Access violation at address 0040404B in module 'Project1.exe'. Read of address 01D39358.
【菜鸟问题:Pchar和String的copy】
varrnpc:Pchar;rnstr:string;rnbeginrn str:='kdjfkdjfdkf';rn //如何讲str的值 copy到 pc啊?rnend;rn
简单问题:对PCHAR的操作
PCHAR s;rns=....;rn怎样求得一个指针<em>pchar</em> t,指向这样一字串:(把s字串去头去尾)rnrn例如“wefwefwef”rn要求“efwefwe”rnrn谢谢!
=====PChar内存释放问题,大侠帮忙=====
症状:在IDE环境下直接运行或单步执行数据正确,直接运行可执行文件数据不正确rn正确数据:68 03 00 00 00 00 00 68 04 09 44 F3 33 33 33 33 [color=#FF0000]55 55 55[/color] E2 16 rn错误数据:68 03 00 00 00 00 00 68 04 09 44 F3 33 33 33 33 [color=#FF0000]93 93 93[/color] 9C 16 rn初步诊断内存分配、释放<em>问题</em>,在集成环境下有内存保护机制所以没有报错,但不能确认到底<em>问题</em>出在哪处!!rn另外,一直玩不转PChar这个类型,如果哪位对此理解深刻望能给指点一二,尤其在作为参数在DLL与调用程序之间传递返回数据的使用,包括,在哪分配,在哪释放。请高人指点。rn目前的权限只能给200分,以后再补吧。rnrn程序代码如下(虽多莫怕,按照我写的次序很快就明白了):rn用到的一个记录类型rntypern ReturnChar = recordrn iLen : integer;rn sBack: string;rnend;rn---------------------- rn发送数据rnprocedure TfrmBaseSet.SetData(node: TdxTreeListNode);rnvarrn i: integer;rn sSetData: string;rn reBack: ReturnChar;rn sDisp: string;rnbeginrn if node <> nil thenrn beginrn i := strToInt('$'+node.Values[4]);rn sSetData := node.Values[2] + '00000000';rnrn reback := SetParam(<em>pchar</em>(sAddr), i, PChar(sSetData)); //调用函数往下看rn for i := 1 to length(reback.sBack) dorn sDisp := sDisp + format('%.2x',[ord(reback.sBack[i])]) + ' '; 截获的显示数据rn ShowMessage(sDisp);rn end;rn--------------------------------rnfunction SetParam(sAddr:<em>pchar</em>; iParamNo:integer; sData:<em>pchar</em>) : ReturnChar ;rnvarrn iBack:integer;rn th:Thandle;rn theSetParam:TSetParam; 声明原型在下边rn tp:TFarProc;rn reback:ReturnChar;rn i : integer;rn sBack : <em>pchar</em>;rnbeginrn iBack := 0;rn th := LoadLibrary('.\645_1997.dll');rn if (th > 0) thenrn beginrn tryrn tp := GetProcAddress(th,'SetParam');rn if (tp <> nil) thenrn beginrn theSetParam := TSetParam(tp);rn //getMem(sBack,sizeof(<em>pchar</em>));rn iBack := theSetParam(sAddr,iParamNo, sData, length(sData) div 2, @sBack); //动态库函数rn reback.iLen := iBack;rn for i := 0 to iBack -1 dorn reBack.sBack := reBack.sBack + sBack[i];rn //FreeMem(sBack); //sBack是在DLL是分配的内存,我在此释放报错!rn end //if (tp <> nil) thenrn elsern beginrn iback := 0;rn reBack.iLen := iBack;rn reBack.sBack := '';rn end;rn finallyrn FreeLibrary(th);rn end;//tryrn end;//if (th > 0) thenrn result := reBack;rnend;rn----------------------------------------rn TSetParam = function(sAddr:<em>pchar</em>;iParamNo:integer;sData:<em>pchar</em>;iDataLen:integer;sBack:<em>pchar</em>) : integer;cdecl;rnrnrnrn//-----------------------------VC写的动态库函数--------------------------------------------rn//参数:sAddr:表地址;iParamNo:功能码;sData:设定值;iDataLen:数据长度;sBack:返回报文rn//rnint CMy645_1997App::SetParam(char *sAddr,int iParamNo,char *sData,int iDataLen,char *&sBack)rnrn int iLen;//报文长度rn// BYTE check;//校验码rn char* sFun;rnrnrn iLen = 15 + iDataLen;rn sBack = new char[iLen];rn sBack[0] = 0x68;rn //写入地址码rn char *s = GetFormatAddr(sAddr);rn for (int i = 0;i> 8) & 0xFF) + 0x33;rn sFun = new char[3];rn for (int i = 0;i
请教string转换pchar问题
procedure TFrm_Main.WriteLog(LogStr: string);rn.......rn LogStr := FormatDateTime('yyyy"/"mm"/"dd hh:nn:ss ', Now) + LogStr + #13#10;rn//2007 4 9 修改日志内容日期格式rn FFileStream.Write(PChar(LogStr)^, Length(LogStr));rnrn程序运行时有时会出现漏记的<em>问题</em>,概率约在万分之一,我找不出其他的<em>问题</em>,会不会这里转换出<em>问题</em>了,请大家指点
TList里添加Pchar的问题
我定义一个List,往里添加Pchar类型的元素,为什么再取出来的时候就变了呢?
★★有关字符数组,PChar和TIdUDPServer的问题★★
varrn a: <em>array</em>[0..5] of Char;rn p: PChar;rnbeginrn New(p);rn p := 'bruce';rn a := 'bruce';rn Dispose(p);rnend;rnrnp和a有什么区别?rn比如用TIdUDPServer的SendBuffer方法rnIdUDPServer.SendBuffer('192.168.1.245', 2050, P, 6);rn和rnIdUDPServer.SendBuffer('192.168.1.245', 2050, a, 6);rn有什么区别?rnrn为什么我使用TIdUDPServer进行信息的收发时用数组做Buffer进行收发一切正常,而使用PChar做buffrnrner进行收发时收到的却是乱码?rnrn源程序如下:rnrn//============================================================//rn发送部分:rnprocedure TForm1.BtnSendClick(Sender: TObject);rnvarrn Buf: <em>array</em>[0..99] of Char;rn// P: PChar;rnbeginrn// New(P);rn if (Trim(Edtdaddress.Text) = '') or (Trim(EdtdPort.Text) = '') then Exit;rnrn tryrn StrCopy(Buf, PChar(EdtMsg.Text));rn IdUDPServer.SendBuffer(Edtdaddress.Text, StrToInt(EdtdPort.Text), Buf, rnrnLength(EdtMsg.Text) + 1);rn// StrCopy(P, PChar(EdtMsg.Text));rn// IdUDPServer.SendBuffer(Edtdaddress.Text, StrToInt(EdtdPort.Text), P, rnrnLength(EdtMsg.Text) + 1);rn exceptrn LbStatus.Caption := 'ERROR';rn end;rn// Dispose(P);rnend;rnrnrn//============================================================//rn接收部分:用PChar做buffer时接收到的是乱码,而且提示执行到Dispose(P)后出现指针操作错误。而rnrn使用字符数组时一切正常。rnprocedure TForm1.IdUDPServerUDPRead(Sender: TObject; AData: TStream;rn ABinding: TIdSocketHandle);rnvarrn Buf: <em>array</em>[0..99] of Char;rn P: PChar;rn S: string;rnbeginrn StrCopy(Buf, '');rn// New(P);rn tryrn// AData.ReadBuffer(P, AData.Size);rn AData.ReadBuffer(Buf, AData.Size);rn exceptrn LbStatus.Caption := 'ERROR';rn end;rnrn S := '[IP: ' + ABinding.PeerIP +'] [Port: ' + IntToStr(ABinding.PeerPort) +']';rn S := S + ' [Data: ' + StrPas(Buf) + ']';rn// S := S + ' [Data: ' + StrPas(P) + ']';rn EdtdPort.Text := IntToStr(ABinding.PeerPort);rnrn Memo1.Lines.Add(S);rn// Dispose(P);rnend;rnrn端口使用的是2010rnrn在局域网里的测试。rnrn开始就是用的string做Buffer,收到的是乱码,后来用<em>pchar</em>也不行rn后来用字符数组做buffer发送才可以rnrn用的是Delphi7,TIdUDPServer控件rnclient和server端都是用的它做收发,程序也一样rnrn
delphixe中关于pchar问题
我用delphixe写了一个dll,这个dll是调用webservice接口,里面一个函数是返回<em>pchar</em>类型,当返回的<em>pchar</em>里面的字符不多时,一切正常,在调用下载接口的时候,下载下来的数据很大(存成记事本有9m),就会出错,整个函数代码如下:rnbeginrn tryrn Result := PChar(GetPub_WebServicePortType(false, AURL).downLoad(ATaskType, AJXS8M,rn AIP, AJSON));//当这个接口数据不大是能正常传给调用的exe,当数据很大时这里的result是有值的,但是调用的exe接收到的是空rn //aa := TStringList.Create;rn //aa.Add(Result);rn //aa.SaveToFile('11.txt');//这个是用来调试的,存成记事本有9mrn exceptrn on E: Exception dorn beginrn Result := PChar(E.Message);rn end;rn end;rnend;rn我也这样试过:result返回left(GetPub_WebServicePortType(false, AURL).downLoad(ATaskType, AJXS8M,rn AIP, AJSON)),N),当n到1500多的时候就出现那种情况了
Pchar转integer和string的问题
我这里是个列举图标组资源名称的回调函数,rnrnFunction EnumResName(hModule: HMODULE; lpType, lpName: PChar;lParam: Longint):BOOL; stdcall;rn//lpType是要提取的资源类型,这里为RT_GROUP_ICONrn//lpName为图标组资源名rnvarrn hIcon1: HICON;rn hResource: HRSRC;rn hMem: HRSRC;rn lpResource: PByte;rn ss:string;rnBeginrn //返回在hExe模块中lpName指定的图标组资源的句柄;rn hResource:=FindResource(hExe,lpName,RT_GROUP_ICON);rn hMem:=LoadResource(hExe,hResource);rn lpResource:=LockResource(hMem);rnrn //如果名称是字符串用下面这句,如果是数字用这句出错rn Form1.Memo1.Lines.Add(string(lpName));rnrn //如果名称是数字用下面这句,如果是字符串用这句返回的是指针地址rn Form1.Memo1.Lines.Add(Format('%s',[IntToStr(Integer(lpName)),ss]));rnrn result:=true;rnend;rnrn//这里是调用rnprocedure TForm1.Button1Click(Sender: TObject);rnbeginrn //hExe为全局变量,hExe: HINST;rn hExe:=LoadLibrary(PChar('E:\TDDOWNLOAD\4.exe'));rn EnumResourceNames(hExe,RT_GROUP_ICON,@EnumResName,1); rnend;rnrn这里我怎么判断这个名称(lpName)是字符串还是数字的,这里不能用try......except来判断,因为一有异常回调函数就不执行了,直接退出,这里搞得我很头疼,各位达人有什么好办法?
DWORD与PCHAR之间的转换问题
我在网上找到了有关DELPHI实现PING功能的文章rnrn其中有一个inet_addr函数,好象不是DELPHI的函数rnrn它要起到的是将PCHAR('255.255.255.0')转化为DWORDrnrn请问还可以用DELPHI的其它函数代替吗?
dll 中pchar参数问题
dll 里的函数 如下:rnfunction GetLocalIP(var AResult: PChar): Integer;rnvarrn wsaData : TWSAData;rn IP : String;rnbeginrn Result:= 0;rn IP := '';rn WSAStartup(257, wsaData);rn IP := inet_ntoa(PInAddr(GetHostByName(nil)^.h_addr_list^)^) ;rn WSACleanup;rnrn ReallocMem(AResult,Length(IP)+ 1);rn StrCopy(AResult,PChar(IP));rn Result := 1;rnend;rnrn应用中 form1 上按钮 调用: rnprocedure TForm1.Button1Click(Sender: TObject);rnvarrn pStr: PChar;rn str : String;rnbeginrn tryrn GetMem(pStr,64);rn GetLocalIP(pStr);rn Edit1.Text:= String(pStr);rn finallyrn FreeMem(pStr);rn end;rnend;rnrn结果正确, 单关闭窗口 form1 时报错 rnaccess violation at ....: write of address rnrn不知什么原因
PChar() 函数之奇怪问题? (*怪*)
<em>问题</em>是这样的:rn 两个字符串 'D:\temp\Project1.exe' 与 Application.exeName ,经测试它们是相等的,然而 PChar('D:\temp\Project1.exe') 与 PChar(Application.exeName) 却始终不相等,谁知道这是怎么一回事??? 先谢了!!!rnrn 主要是因为笔者要使用 ExtractAssociatedIcon() 函数提取图标,其中就有一个 PChar 类型的参数(表路径),使用 PChar(Application.exeName) 可得图标,而使用 PChar(Application.exeName) 却不行啊?!
Cardinal(pChar(ClassName)) 的工作原理问题
在Aimgoo编写的CpuWHelper代码中,有一段程序如下:rnfunction EnumFunc(Handle : HWnd; var PI64 : Int64Rec): Bool; stdcall;rnvarrn _ClassName : <em>array</em> [0..255] of Char;rn PID : Cardinal;rnbeginrn Result := True;rn PID := 0;rn GetWindowThreadProcessId(Handle, @PID);rn if PID = PI64.Lo thenrn beginrn GetClassName(Handle, @_ClassName[0], 255); rn if StrComp(_ClassName, pChar(PI64.Hi)) = 0 thenrn beginrn PI64.Hi := Handle;rn Result := False;rn end;rn end;rnend;rnrnfunction HwndByClassName(ClassName : String; PID : Integer = 0) : HWND;rnvarrn PI64 : Int64Rec;rnbeginrn if PID = 0 thenrn PI64.Lo := GetCurrentProcessIDrn elsern PI64.Lo := PID;rnrn PI64.Hi := Integer(pChar(ClassName));rn EnumWindows(@EnumFunc, Integer(@PI64)); rn if [color=#FF0000]PI64.Hi = Cardinal(pChar(ClassName)) [/color]then rn Result := 0rn elsern Result := PI64.Hi;rnend;rnrn首先确定上面的代码是正确,且可以正常运行;其中红色标注部分另我十分迷惑,请求大家帮忙看看。rn自己写了段相比较的代码rnfunction HwndByClassName1(ClassName : String; PID : Integer = 0) : HWND;rnvarrn PI64, PI642 : Int64Rec;rnbeginrn if PID = 0 thenrn PI64.Lo := GetCurrentProcessIDrn elsern PI64.Lo := PID;rn PI64.Hi := Cardinal(pChar(ClassName));rn PI642.Hi := Integer(pChar(ClassName));rn EnumWindows(@EnumFunc, Integer(@PI64)); rn PI642.Hi := Cardinal(pChar(ClassName)); rn if PI642.Hi = Cardinal(pChar(ClassName)) then //PI64.Hi与PI642.Hi不相同;rn Result := 0rn elsern Result := PI64.Hi;rnend;rn请问Cardinal(pChar(ClassName))的工作原理是什么; rn rnrn rn
超弱问题: Pchar 的加法?
varrnp1,p2,p3:Pchar;rnbeginrn p1:=Pchar('This is ');rn p2:=Pchar('a line');rn rn p3:=p1+p2; <rnrnend;rnrn rn
T *Array和T Array[]
templaternvoid outputArray(const T *Array,const int Count)//此处把参数换成 const T Array[]rnrn for(int i=0;i
array()
//用<em>array</em>()创建数组 //索引数组 $arr = <em>array</em>('a','b','c'); $arr[0] = 'a'; $arr[1] = 'b'; $arr[2] = 'c'; //关联数组 $arr = <em>array</em>('a'=&amp;gt;'age','b'=&amp;gt;'boy','c'=&amp;gt;'class'); $arr['a'] = 'age'; $arr['b'] = 'boy'; $...
Array函数方法 Array
ES6,Array.find()和findIndex()函数的用法 ES6为Array增加了find(),findIndex函数。 find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。 findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。 他们的都是一个查找回调函数。 [1, 2, 3, 4].find((value, in...
array" OR "string array"">"char* array" OR "string array"
我有一个<em>问题</em>请教各位。In C++, I want to change “char <em>array</em>[40];” to be dynamical. 也就是 the size of <em>array</em> 不固定。请问如何转变?是用 char* <em>array</em> ? 还是用 string <em>array</em> ? 多谢!
Array
This Unit implements a base class for resizeable <em>array</em> types and a few specific derivatives for the common numeric types, as well as prototypes for <em>array</em> of pointers, PChars, and strings
array
我在vb.net里有个result的<em>array</em>,但不知道怎么找到列的长度,result是2维数组,但rank方法却显示是1
1d array to 2D array
labview的一个子程序,把一维数组转换成二维数组
关于array()和 array(null)
编程中遇到个<em>问题</em>,给方法传递参数的时候,如果参数可有可无的话,用<em>array</em>()就行,但是我这里必须加上null,即<em>array</em>(null)才能通过,否则就报错说无效的参数rnrnps:期望<em>array</em>(),不用加 nullrnrn请问这个情况应该如何解决。rnrn同学在redhat下开发就没有<em>问题</em>,我是在Ubuntu下开发的rn
int array[10]; array 和 &array 有什么区别
int <em>array</em>[10]; <em>array</em> 和 &<em>array</em> 有什么区别?rnint* p;rnrnp=<em>array</em>;//okrnp=&<em>array</em>;//failrnint(*k)[10] = &<em>array</em>;//okrn指针和数组有什么区别rn
Array.Copy(Array,Array,Int32)
MSDN上说这个方法可以从引用类型的数组复制到值类型的数组,也可以倒过来,对此不理解rn请举例说明
基于ASP.Net的BBS下载
基于ASP.net的BBS系统,后台数据库是Sql Server 2000,保证能运行,用visual studio 2008和2005都可以运行! 相关下载链接:[url=//download.csdn.net/download/cubs870321/2214015?utm_source=bbsseo]//download.csdn.net/download/cubs870321/2214015?utm_source=bbsseo[/url]
Objective-C语法深入浅出-适合作为学习IOS开发的入门材料下载
Objective-C语法深入浅出,适合作为学习IOS开发的入门材料。 相关下载链接:[url=//download.csdn.net/download/faceandroid/4042099?utm_source=bbsseo]//download.csdn.net/download/faceandroid/4042099?utm_source=bbsseo[/url]
[新]飓风视频加密工具V12.0 VIP完美破版(附图示教程)下载
功能强大安全性最好的视频加密工具: 支持各种视频的高速编码加密与高速解码播放,加密后的文件自带解码器和播放器;可以加密各种视频音频格式文件(wmv,avi,mpg,rm,rmvb,mp4,flv,vob等),加密后的文件可以通过离线方式授权播放,也可以通过网络方式授权播放;只需要加密一次,就可以实现一机一码授权。 相关下载链接:[url=//download.csdn.net/download/ljca981291/5232974?utm_source=bbsseo]//download.csdn.net/download/ljca981291/5232974?utm_source=bbsseo[/url]
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview
我们是很有底线的