标签: findfirst

为什么FindFirst返回与掩码不匹配的文件名?

我将参数值传递 '*1.dat'给FindFirst,仍然是FindFirst()例程返回的第一个文件46checks5.dat,非常一致.

这是一个已知的问题吗?

vpath:=trim(vpath);
result:=true;
try
  res:=findfirst(vpath+'\'+vmask,faarchive,search);    //vmask = *1.dat
  try 
    while res=0 do
    begin
      vlist.add(search.name);   //searchname returned is 46checks5.dat!!!
      res:=findnext(search);
    end;
  finally
    findclose(search);
  end;
except
  result:=false;
end;
Run Code Online (Sandbox Code Playgroud)

delphi findfirst

16
推荐指数
1
解决办法
2695
查看次数

Delphi Rio无法使用READ_EXTERNAL_STORAGE权限设置读取外部存储

我有一个项目,我曾经在Delphi西雅图创建,现在我想转移到Delphi Rio.我使用findfirst/findnext读取外部SD卡上的目录结构

  i := findfirst(datadir + '*', faanyfile, ts);
Run Code Online (Sandbox Code Playgroud)

datadir变量包含一个有效的目录.在西雅图,代码工作正常(返回值i = 0),并在变量ts中返回第一个目录条目.现在,在Rio上编译相同的代码,我得到一个返回错误值i = 13(访问被拒绝).

在我的项目中设置了READ_EXTERNAL_STORAGE权限.

如果我将清单文件中的targetSdkVersion(在Rio中自动设置为26)硬编码到19(这是minSdkVersion),代码再次工作,即使在里约.所以显然处理SD卡访问的一些方法已经从sdk-level 19变为26?

有人提示吗?

delphi sdk android findfirst delphi-10.3-rio

7
推荐指数
1
解决办法
1277
查看次数

如何优化$ .find().first()?

我需要检索第一个元素.

我用这段代码做到了......

$(element).find('.x').first();
Run Code Online (Sandbox Code Playgroud)

据我所知,那段代码......

  1. element匹配的元素中检索所有元素.x,
  2. 删除不需要的元素;

有没有更好的方法呢?喜欢$.findOne()什么?

javascript optimization jquery find findfirst

5
推荐指数
1
解决办法
3801
查看次数

在 Julia 中使用 findfirst() 的多个条件

假设我有两个数组,如下所示:

  • x = [10, 30, 50, 99, 299]
  • y = [3, 29, 30, 23, 55]

如何找到满足以下两个条件的索引?

  • x > 80 & y > 30

因此,对于我的示例,我预计返回值为索引 5。我想格式将如下所示:

findfirst(x -> x > 80 \union y -> y> 30, x,y)

但这不起作用..

另外,在我的例子中,x 和 y 是数据框中的列,但进行索引搜索也不起作用。

findfirst julia

5
推荐指数
1
解决办法
678
查看次数

如何在 Scala Cats Effect 中的 List[IO[Boolean]] 中遇到第一个“true”时返回

假设我有一组规则,其中有一个IO[Boolean]在运行时返回的验证函数。

case class Rule1() {
  def validate(): IO[Boolean] = IO.pure(false)
}
case class Rule2() {
  def validate(): IO[Boolean] = IO.pure(false)
}
case class Rule3() {
  def validate(): IO[Boolean] = IO.pure(true)
}

val rules = List(Rule1(), Rule2(), Rule3())
Run Code Online (Sandbox Code Playgroud)

现在我必须迭代这些规则并查看“这些规则中的任何一个是否有效”,如果不有效则抛出异常!

for {
  i <- rules.map(_.validate()).sequence
  _ <- if (i.contains(true)) IO.unit else IO.raiseError(new RuntimeException("Failed"))
} yield ()
Run Code Online (Sandbox Code Playgroud)

上面代码片段的问题在于它试图评估所有规则!我真正想要的是在第一次验证时退出true

不知道如何在 Scala 中使用猫效果来实现这一点。

scala exists findfirst scala-cats cats-effect

5
推荐指数
2
解决办法
413
查看次数

运行 findFirst() 后恢复 Java Stream 的处理

给定一个简单的字符串列表:

List<String> strings = Arrays.asList("Mary", "James", "Jim", "Camilla");
Run Code Online (Sandbox Code Playgroud)

我想用一种anotherMethod()方法处理列表中的每个项目,但是第一个项目应由 额外处理someMethod()

我尝试过这样的事情:

List<String> strings = Arrays.asList("Mary", "James", "Jim", "Camilla");

var result = strings.stream()
     .findFirst()
     .map(myString -> someMethod(myString))
     // "resume" stream
     .map(myString -> anotherMethod(myString))
     .toList();     
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 aStream或类似的东西来处理这种情况?


更新1

这是一个例子,可以帮助您更好地理解我的问题背后的动机。

List<String> strings = Arrays.asList("Mary", "James", "Jim", "Camilla");

public String someMethod(String s) {
  return s.toUpperCase();
}

public String anotherMethod(String s) {
  return s.toLowerCase();
}
Run Code Online (Sandbox Code Playgroud)

最终结果为a List<String>,其中包含以下元素,即仅将第一个元素转换为大写,其他元素全部转换为小写。

"MARY", "james", "jim", "camilla"

java findfirst java-stream option-type

4
推荐指数
1
解决办法
525
查看次数

FindFirstFile导致"驱动器中没有光盘"错误

FindFirstFile函数导致"驱动器中没有光盘.请将光盘插入驱动器"错误.导致此错误的原因是USB记忆棒中没有SD卡,而且它是空的.我的问题是我必须扫描特定目录的所有驱动器,我无法区分驱动器是否为空.我怎样才能做到这一点?

我正在开发Windows应用程序,我正在使用MFC进行开发.

任何帮助将受到高度赞赏.

Farooq-

winapi mfc visual-studio visual-c++ findfirst

3
推荐指数
1
解决办法
580
查看次数

FindFirst,FindNext(Delphi Xe,Win7)排名不正确

我在目录中有一些文件.我尝试使用FindFirst和FindNext获取这些文件,但我无法在Windows 7上获得相同的顺序.

C:\Test
SampleFile.0.png
SampleFile.1.png
SampleFile.2.png
SampleFile.3.png
SampleFile.4.png
SampleFile.5.png
SampleFile.6.png
SampleFile.7.png
SampleFile.8.png
SampleFile.9.png
SampleFile.10.png
SampleFile.11.png
SampleFile.12.png
SampleFile.13.png
SampleFile.14.png
SampleFile.15.png
SampleFile.16.png
SampleFile.17.png
SampleFile.18.png
SampleFile.19.png
SampleFile.20.png
SampleFile.21.png
SampleFile.22.png
Run Code Online (Sandbox Code Playgroud)

当我尝试使用我的代码时,我得到了

SampleFile.0.png
SampleFile.1.png
SampleFile.10.png
SampleFile.11.png
SampleFile.12.png
SampleFile.13.png
SampleFile.14.png
SampleFile.15.png
SampleFile.16.png
SampleFile.17.png
SampleFile.18.png
SampleFile.19.png
SampleFile.2.png
SampleFile.20.png
SampleFile.21.png
.
.
.
Run Code Online (Sandbox Code Playgroud)

如何获得正确排名顺序的文件列表?

Procedure Test;
var
sr : TSearchRec;
i : integer;
ListFiles : TStringList;  
begin
ListFiles := TStringList.Create;
i := FindFirst('c:\test\*.png', faDirectory, sr);
while i = 0 do begin  
ListFiles.Add(ExtractFileName(sr.FindData.cFileName));
i := FindNext(sr); 
end;
FindClose(sr);
end; …
Run Code Online (Sandbox Code Playgroud)

delphi rank delphi-xe findfirst

2
推荐指数
1
解决办法
1113
查看次数

立即获取整数中最左边有效位的索引

如何从左到右而不是从右到左扫描整数(二进制)?我知道我可以从左边开始尝试每一位,然后记录最左边的位,但是有没有更快的方法?是否有一个内置函数可以立即找到整数中最左边的有效位(即 1)?

我知道从右到左,我可以做类似的事情

int myInt = 1234;
for(int i = 0; i < 32; i++) {
  int curr_bit = myInt & (1 << i);
  // do something with curr_bit
}
Run Code Online (Sandbox Code Playgroud)

但是,我想从最左边的可用位开始,并且我想要它的数字“x”,以便它1 << x指向该确切的数字(正如旁注,我正在尝试实现重复平方,并且我需要在我的代码)。

任何帮助将不胜感激!

c++ bit-manipulation built-in bit findfirst

0
推荐指数
1
解决办法
2435
查看次数