小编Ale*_*ide的帖子

在桌面上写文字

我想在桌面上写一些文本(当前连接的DiskDrives).所以我设置BorderStylebsNone,TransparentColortrueTransparentColorValueclRed后,我得到了可怕的结果:

在此输入图像描述

我怎样才能解决这个问题?我目前正在尝试解决这个问题已经持续了6个小时:/也许还有另一种方法可以在桌面上编写文本(而不是在所有Windows上)?

delphi transparent-control

6
推荐指数
1
解决办法
631
查看次数

比较大文件

我有一些文件(3-5),我需要比较:
文件1.txt有100万字符串.
文件2.txt有1000万个字符串.
文件3.txt有500万个字符串.
所有这些文件都与文件keys.txt(万字符串)进行比较.如果当前打开的文件中的行与keys.txt中的行相同,请将此行写入output.txt(我希望您理解我的意思).

我现在有:

function Thread.checkKeys(sLine: string): boolean;
var
  SR: TStreamReader;
  line: string;
begin
  Result := false;
  SR := TStreamReader.Create(sKeyFile); // sKeyFile - Path to file keys.txt
  try
    while (not(SR.EndOfStream)) and (not(Result))do
      begin
        line := SR.ReadLine;
        if LowerCase(line) = LowerCase(sLine) then
          begin
            saveStr(sLine);
            inc(iMatch);
            Result := true;
          end;
      end;
  finally
    SR.Free;
  end;
end;

procedure Thread.saveStr(sToSave: string);
var
  fOut: TStreamWriter;
begin
  fOut := TStreamWriter.Create('output.txt', true, TEncoding.UTF8);
  try
    fOut.WriteLine(sToSave);
  finally
    fOut.Free;
  end;
end;

procedure Thread.updateFiles;
begin
  fmMain.flDone.Caption := IntToStr(iFile);
  fmMain.flMatch.Caption …
Run Code Online (Sandbox Code Playgroud)

delphi compare

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

手风琴画线

手风琴里面有手风琴.我想绘制从手风琴的标题到最后一个儿童手风琴元素的垂直线和从垂直线到每个儿童手风琴元素的水平线.

这是我有的:

<div id="accordion3" class="collapseblock">
  <div class="cardsmall">
    <div class="cardsmall-header">
      <span class="arrowed" id="headingGeneral" data-toggle="collapse" data-target="#collapseGeneralTab" aria-expanded="false" aria-controls="collapseGeneralTab">
                                        Test1
                                    </span>
    </div>
    <div id="collapseGeneralTab" class="collapse" aria-labelledby="headingGeneral" data-parent="#accordion3">
      <div class="cardsmall-content">
        Example1
      </div>
    </div>
  </div>
  <div class="cardsmall">
    <div class="cardsmall-header">
      <span class="arrowed" id="headingCurrency" data-toggle="collapse" data-target="#collapseCurrency" aria-expanded="false" aria-controls="collapseCurrency">
                                        Test2
                                    </span>
    </div>
    <div id="collapseCurrency" class="collapse" aria-labelledby="headingCurrency" data-parent="#accordion3">
      <div class="cardsmall-content">
        <div id="accordion4" class="collapseblock">
          <div class="cardsmall">
            <div class="cardsmall-header">
              <span class="arrowed" id="headingOffers" data-toggle="collapse" data-target="#collapseOffers" aria-expanded="false" aria-controls="collapseOffers">
                                                        Test2.1
                                                    </span>
            </div>
            <div id="collapseOffers" class="collapse" aria-labelledby="headingOffers" data-parent="#accordion4">
              <div class="cardsmall-content">
                Example2.1
              </div>
            </div>
          </div>

          <div …
Run Code Online (Sandbox Code Playgroud)

html css bootstrap-4

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

Android服务在单独的过程中

我跑我的一个活动,并呼叫应用startService(new Intent(this, TCPClient.class));onStart.我也开始onCreate()设置与我的服务器建立TCP连接的服务线程.服务在单独的进程中运行.它一直运行良好,直到我重新启动我的应用程序(我不会在应用程序关闭时停止服务).当我这样做时,我将从同一IP获得1个以上的连接.所以,我有2个客户端从同一设备和相同的IP连接.问题是:如何防止创建更多服务?

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sample.servicetest" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MainActivityTheme" >
        <!-- android:theme="@style/AppTheme" > -->
        <service android:name=".TCPClient"
            android:process=":service">
        </service>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/MainActivityTheme" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

的OnStart:

@Override
    protected void onStart() {
        super.onStart();

        Log.v(TAG, "onStart");
        startService(new Intent(this, TCPClient.class));
    }
Run Code Online (Sandbox Code Playgroud)

onStartCommand:

public int onStartCommand(Intent intent, int flags, int startId) {
        if …
Run Code Online (Sandbox Code Playgroud)

android android-service

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

德尔福.多维数组作为参数

我有多维数组:
TBMArray = TArray<array of byte>;
和递归函数
function goForSolve(bData: TBMArray; const iSize: integer): TBMArray;

在这个函数
tempData: TBMArray;
我需要更改tempData而不更改bData的值.但是当我改变tempData时,bData也会改变.我试图通过函数将bData复制到tempData

procedure copyData(Source: TBMArray; var Dest: TBMArray);  
var  
  iCurEl, iLen: integer;  
begin  
  iLen := length(Source);  
  setLength(Dest, iLen);  
  setLength(Dest[0], 1);  
  for iCurEl := 1 to iLen - 1 do  
    setLength(Dest[iCurEl], iCurEl + 1);  
  for iCurEl := Low(Source) to High(Source) do  
    Dest[iCurEl] := Source[iCurEl];  
end;  
Run Code Online (Sandbox Code Playgroud)

但结果是一样的

tempData := bData;
Run Code Online (Sandbox Code Playgroud)

它似乎是函数复制指针而不是值.

arrays delphi multidimensional-array

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