首页 > TAG信息列表 > PChar
Delphi RenameFile 文件改名
//文件改名 RenameFilevarOldName,NewName: string;beginOldName := 'c:\temp\Old.txt';NewName := 'c:\temp\New.txt'; if RenameFile(OldName,NewName) thenShowMessage('改名成功!'); //也可以:SetCurrentDir('c:\temp');OldName :=(二章)实例1 无处不在的MessageBox对话框
------------恢复内容开始------------ MessageBox对话框是一个最常用的对话框,用它显示提示信息最方便,也是最有效的手段。它的语法是这样的: function MessageBox(handle:THandle;const Text,Caption:PChar;Flags:LongInt):Integer; 参数Text是要显示的内容,Caption为对话框的,FlagsInternetConnect参数的意思
WinInet函数系列,建立 Internet 的连接。 函数声明 function InternetConnect(hInet: HINTERNET; lpszServerName: PChar; nServerPort: INTERNET_PORT; lpszUsername: PChar; lpszPassword: PChar; dwService: DWORD; dwFlags: DWORD; dwContext: DWORD): HINTERNET; stdcall;两种方式访问字符数组
1 // 2 3 #include "stdafx.h" 4 #include <stdio.h> 5 #include <stdlib.h> 6 7 int main(int argc, char* argv[]) 8 { 9 // char *pchar="1calc"; 10 // 11 // pchar+=1; 12 // 13 // printf("%s\n",Win32 API 读取文件
昨天又用Win32来读取文件的时候,又出现了字符编码的问题。 用TCHAR字符来写文件呢,用系统的记事本打开是乱码。 用CHAR字字符来写呢,在读取汉字的时候后面有一串乱码, 用CHAR[]数组读取就没有后面多出来的空格或是乱码的情况, 用New CHAR[]就不行,我用memset()清零也没解决问题 图Delphi中String当数组用,多余的空格去除
var s:string;begin SetLength(s,256); GetWindowsDirectory(PChar(s),256); ShowMessage(IntToStr(Length(s))); //Length(s) 256 ShowMessage(IntToStr(StrLen(PChar(s))));//StrLen(PChar(s))10 //SetLength(s,StrLen(PChar(s))); //没有这句,会有一堆的空格 ShowMessagCnCommon单元之SameCharCounts、CharCounts【6】
// 两个字符串的前面的相同字符数 function SameCharCounts(s1, s2: string): Integer; var Str1, Str2: PChar; begin Result := 1; s1 := s1 + #0; s2 := s2 + #0; Str1 := PChar(s1); Str2 := PChar(s2); while (s1[Result] = s2[Result]) and (s1[Result] <>简体中文与繁体中文的转换函数
简体中文与繁体中文的转换函数 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject);PChar 类型的又一些用法
PChar 类型的又一些用法 //使用 PChar^ var p: PChar; begin p := PChar('abcd'); ShowMessage(p); {abcd} ShowMessage(p^); {a} p := p + 2; ShowMessage(p^); {c} Dec(p); ShowMessage(p^); {b} ShowMessage(p); {bcd} end; //遍历 PCha指针的运算
指针的运算 //指针的运算仅对 PChar 类型 procedure TForm1.Button1Click(Sender: TObject); var p: PChar; begin p := 'China'; Inc(p); p := p + 1; ShowMessage(p); //返回:ina Dec(p); p := p - 1; ShowMessage(p); //返回:China end; posteSysUtils.StrAlloc、SysUtils.StrBufSize
SysUtils.StrAlloc、SysUtils.StrBufSize StrAlloc : 给 PChar 指针分配空间, 并填充 #0; StrBufSize : PChar 缓冲区大小. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = cSysUtils 中其他 PChar 函数: StrPas、StrNew、StrDispose、StrNextChar、StrFmt、StrLFmt、StrCharLength
SysUtils 中其他 PChar 函数: StrPas、StrNew、StrDispose、StrNextChar、StrFmt、StrLFmt、StrCharLength //StrPas: 转换 PChar 为 string; 现在可以直接赋值, 很少用了. var p: PChar; s: string; begin p := 'Delphi'; s := StrPas(p); ShowMessage(s); {DelpSysUtils.StrEnd、SysUtils.StrLen
SysUtils.StrEnd、SysUtils.StrLen StrEnd 获取 PChar 串未指针; StrLen 获取 PChar 串长度.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ButtonSysUtils.StrScan、SysUtils.StrRScan、SysUtils.StrPos
SysUtils.StrScan、SysUtils.StrRScan、SysUtils.StrPos StrScan : 返回一个字符在一个 PChar 串中第一次出现的位置指针; StrRScan : 返回一个字符在一个 PChar 串中最后一次出现的位置指针; StrPos : 返回一个 PChar 串在另一个 PChar 串中第一次出现的位置指针. unitSysUtils.StrCopy、SysUtils.StrECopy
SysUtils.StrCopy、SysUtils.StrECopy StrCopy 和 StrECopy 都是复制源 PChar 串到目标 PChar 串, 只是返回值不同; StrCopy 返回结果的首地址, StrECopy 返回结果的尾(#0)地址.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,SysUtils.StrLComp、SysUtils.StrLIComp
SysUtils.StrLComp、SysUtils.StrLIComp StrLComp、StrLIComp 与 StrComp、StrIComp 基本是一样的, 只是多了一个参数用来指定有效长度.unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TFSysUtils.StrCat
SysUtils.StrCat //把源串添加到目标串后, 要求目标串必须有足够的空间 StrCat( Dest: PChar; {目标串} const Source: PChar {源串} ): PChar; {返回目标串} unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, GraC++学习过程中的坑——持续更新
这是我在学习C++的过程中遇到的坑 坑1: 1.1 问题描述: 在用new运算符给字符数组分配内存的时候,使用cout输出时会出现乱码,代码如下: #include <iostream> using namespace std; int main() { char* pChar; pChar = new char[5]; int i = 0; while (i < 5) { cin >> pDelphi 字符串类型 Char 和PChar
Delphi 字符串类型 Char 和PChar array[0..255] of Char 类型在声明的时候已经为变量分配了内存,而PChar类型只是一个空指针,没有分配内存,如果用PChar,就必须先分配内存,例如: SetLength(Nam,255); GetMem(Nam,255); 创建时间:2020.06.04 更新时间:delphi中打印日志
OutputDebugString(PChar('这是一个测试信息'));查看日志:view—>Debug windows –>Event logbintohex和hextobin
bintohex和hextobin var ms: TMemoryStream; var hex: string; SetLength(hex, ms.Size * 2); BinToHex(ms.Memory, PChar(hex), ms.Size); var ms: TMemoryStream;var hex: string; len := Length(hex) div 2; ms.SetSize(len); HexToBin(PChar(delphi 数据处理
TStringStream 怎样转换String procedure TForm1.Button1Click(Sender: TObject);var ss:TStringStream; str:String;begin ss:=TStringStream.Create(''); for i:=0 to 99 do begin ssThickness.WriteString(Floattostr(i+1)+',将Pchar Delphi DLL导入C#?
我在delphi中有一个过程: procedure PasswordDLL(month integer; password pchar); export; 该过程应该输入密码到我传入的“密码”pchar .. 从我的谷歌和阅读….参考:HERE和HERE 我想出来: [DllImport( "DelphiPassword.dll", CallingConvention = CallingConvention.SC#调用Delphi写的动态链接库
Delphi动态链接库中函数定义为:function Encrypt(const OrignStr,Key: PChar; NewStr,ErrStr:PChar): Boolean;stdcall; 这里省去上千字的尝试失败过程,只有下面的方法是通过的[DllImport("Encrypt.dll", CharSet=CharSet.Ansi, CallingConvention=CallingConvention.StdC