在数组中搜索特定文本并设置标志

时间:2018-02-08 09:34:15

标签: arrays vb.net

基本上我正在寻找一个7-zip列表函数数组,它列出了zip文件夹中的所有文件以及无用文本行。

我想将文件名与我之前在压缩之前制作的源文件列表进行比较,然后如果由于某种原因从zip中丢失了1个或更多,则不要处理该程序的删除部分。 / p>

我认为最好的方法是在7-zip列表数组中找不到文件名时设置一个标志,然后在ir处理删除之前检查该标志。但是,由于它也在数组中的无用文本行,只要一个与文件名不匹配就将标志设置为false,这使得它永远不会处理删除,即使数组中存在所有文件。

我该如何解决这个问题? 我目前有这个:

SELECT c.name,
       s.name,
       char_length(s.name)
FROM state s
JOIN country c ON s.country_id = c.id
ORDER BY char_length(s.name)

arcstore = ShellandWait(ArcProg, """l""" & " " & NewZipName) 'Command line to list files in a zip folder in an array For a = 0 To UBound(records) FileName = records(a) FileName = FileName.Substring(FileName.LastIndexOf("\") + 1) 'taking out the directory path so just the filename is left For i = 0 To UBound(arcstore.ArcFiles) Zippedfilename = (arcstore.ArcFiles(i)) 'Output of 7-zip List function If Not Zippedfilename.Contains(FileName) Then DeleteErrorFlag = True cw.labelMsg("FIle not in zip is " & FileName) Else ZipFileCount = ZipFileCount + 1 End If Next Next ”是源文件名,“Filename”是7-zip阵列的输出行。

非常感谢提前

2 个答案:

答案 0 :(得分:0)

您可以创建一个与Boolean数组大小相同的records数组,其中最初每个Boolean值都设置为False

对于records数组中的每个文件名,检查它是否存在于arcStore.ArcFiles中,如果它存在,则将Boolean数组中的相应值设置为True

最后,只有当Boolean数组中的每个值都为True时,您才能删除源文件。

答案 1 :(得分:0)

您可以在7-zip列表函数数组中查询源文件列表中未包含的任何文件。我不太确定变量名,但我假设var menuHome= [ {menuName:'menu1',menuImage:'image1'}, {menuName:'menu2',menuImage:'image2'}, {menuName:'menu3',menuImage:'image3'}, {menuName:'menu4',menuImage:'image4'}, {menuName:'menu5',menuImage:'image5'}, {menuName:'menu6',menuImage:'image6'}, {menuName:'menu7',menuImage:'image7'}, {menuName:'menu8',menuImage:'iamge8'} ] render() { for(i=1;i<=2;i++){ if(i%2 !== 0){ menuBox2 = 15; }else{ menuBox2 = 0; l+=1; } menuBlock2.push( <TouchableHighlight style={[styles.menuBox, {marginRight:menuBox2},{backgroundColor:this.state.menuBg}]} onPress= { () => {} } underlayColor="rgba(138,24,27,1)" key = {i} > <View style={[styles.justify]}> <SvgUri width="50" height="50" source={require("AwesomeProject/app/images/balance-01.svg")} style={styles.images} /> <Text style={[styles.baseText,{color:this.state.menuText}]}>{menuHome[i].menuName}</Text> </View> </TouchableHighlight> ) } for(z=0;z<4;z++){ menuBlock.push( <View style={[styles.mainWrapper, styles.row]} key = {z}> {menuBlock2} </View> ) } return ( <View style={styles.mainView}> {menuBlock} </View> ); } 是你的7-zip列表函数数组,而arcstore.ArcFiles是你的源文件列表:

records