请问一个字符串操作问题……有分(50分)

C

chatop

Unregistered / Unconfirmed
GUEST, unregistred user!
比如字符串
'c:/abc.asp|16:20'
我需要以'|'为分割,将'c:/abc.asp'和'16:20'两个分割出来,并导入两个txt文件中
这些字符串有很多,在一个txt文件中,不知道怎么做,希望大家能帮帮我,谢谢!!
 
var
a,b:string;
begin
a:=copy('c:/abc.asp|16:20',1,ansipos('|','c:/abc.asp|16:20')-1);
b:=copy('c:/abc.asp|16:20',ansipos('|','c:/abc.asp|16:20')+1,length('c:/abc.asp|16:20')-ansipos('|','c:/abc.asp|16:20'));
end;
 
var
a,b:string;
begin
a:=copy('c:/abc.asp|16:20',1,ansipos('|','c:/abc.asp|16:20')-1);
b:=copy('c:/abc.asp|16:20',ansipos('|','c:/abc.asp|16:20')+1,length('c:/abc.asp|16:20')-ansipos('|','c:/abc.asp|16:20'));
end;
我固计这个可以,但我不太明白ansipos的用法,能详细说明一下吗?谢谢!!
 
比如:
ansipos('|','c:/abc.asp|16:20')
就是找出 '|' 字符在 'c:/abc.asp|16:20' 字符串里面第一次出现的位置,
比如这次就返回 11
 
procedure TForm3.Button3Click(Sender: TObject);
var
qian,hou:string;
i:integer;
begin
listbox1.Items.SaveToFile('playlist.ini');
for i:=0 to ListBox1.Items.Count-1 do
qian:=copy(listbox1.items,1,ansipos('|',listbox1.items)-1);
hou:=copy(listbox1.items,ansipos('|',listbox1.items)+1,length(listbox1.items)-ansipos('|',listbox1.items));
listboxofqian.Items.savetofile('qian.ini');
listboxofhou.items.savetofile('hou.ini');
上面是原码,我试过了,可以执行,但是进行这步操作的时候出错!
好像是说listbox历遍上面的问题,project project1.exe raised exceptino class EScringList Error with message 'List index out of bounds(9)'
大家帮我看看!
谢谢!
 
help me ~~~~[:(]
 
你这段代码错误太多,实在是很抱歉,我现在赶着写实验报告:(
很快就会有富翁来帮你解答的。
要是明天我的报告赶完了,而你这里还没有搞定,我一定来帮你改!

 
好烦哦,在线等,大家帮帮我……
 
55555555555555555555痛哭ing~
 

for i:=0 to ListBox1.Items.Count-1 do
begin //////
qian:=copy(listbox1.items,1,ansipos('|',listbox1.items)-1);
hou:=copy(listbox1.items,ansipos('|',listbox1.items)+1,length(listbox1.items)-ansipos('|',listbox1.items));
listboxofqian.Items.Add(qian); //////
listboxofhou.items.Add(hou); //////
end; //////
listboxofqian.Items.savetofile('qian.ini');
listboxofhou.items.savetofile('hou.ini');

另外书写代码要注意规范。
 
ok呀,可以了,谢谢了………………
 
顶部