【无情锁机源码】【spring源码分析范围】【精简自动采集源码】can vb源码

2024-12-28 21:39:53 来源:海马站源码 分类:娱乐

1.急急急!!!如何用VB实现磁盘扫描的NStepScan算法
2.vb问题:希望可以给代码

can vb源码

急急急!!!如何用VB实现磁盘扫描的NStepScan算法

       c的,网上搜的无情锁机源码

       #include "stdafx.h"

       #include "stdlib.h"

       int L,spring源码分析范围P;

       int a[];

       int flag;//访问位

       typedef struct TASK

       {

        int requrie;

        int io;

       } TASK;

       TASK T[][];

       TASK N[];

       int diskway;//当前磁道

       void iodowith();

       void init()

       {

        int i,j;

        for(i=0;i<;i++)

        {

        for(j=0;j<;j++)

        {

        T[i][j].requrie=-1;

        }

        }

        for(i=0;i<L;i++)

        {

        for(j=0;j<P;j++)

        {

        T[i][j].requrie=rand()%;

        T[i][j].io=rand()%2;

        }

        }

       }

       void output()

       {

        printf("磁盘访问的初始顺序是:\n");

        for(int i=0;i<L;i++)

        {

        printf("第%d组是:\n",i+1);

        for(int j=0;j<P;j++)

        {

        printf("%d %d\t",T[i][j].requrie,T[i][j].io);

        }

        printf("\n");

        }

       }

       void sort_btos(TASK x[],int n)

       {

        int i,j,k;

        TASK t;

        for(i=0;i<n-1;i++)

        {

        k=i;

        for(j=i+1;j<n;j++)

        if(x[j].requrie>x[k].requrie)

        k=j;

        if(k!=i)

        {

        t=x[i];

        x[i]=x[k];

        x[k]=t;

        }

        }

       }

       void sort_stob(TASK x[],int n)

       { int i,j,k;

        TASK t;

        for(i=0;i<n-1;i++)

        {

        k=i;

        for(j=i+1;j<n;j++)

        if(x[j].requrie<x[k].requrie)

        k=j;

        if(k!=i)

        {

        t=x[i];

        x[i]=x[k];

        x[k]=t;

        }

        }

       }

       void SortInToOut(TASK x[],int nowdiskway,int num)

       {

        TASK a[],b[];

        int s=0,t=0;

        for(int i=0;i<num;i++)

        {

        if(x[i].requrie>=nowdiskway)

        {

        a[t]=x[i];

        t++;

        }

        else

        {

        b[s]=x[i];

        s++;

        }

        }

        sort_stob(a,t);

        sort_btos(b,s);

        for(i=0;i<t;i++)

        {

        x[i]=a[i];

        }

        for(i=t;i<num;i++)

        {

        x[i]=b[i-t];

        }

       }

       void SortOutToIn(TASK x[],int nowdiskway,int num)

       {

        TASK a[],b[];

        int s=0,t=0;

        for(int i=0;i<num;i++)

        {

        if(x[i].requrie<=nowdiskway)

        {

        a[t]=x[i];

        t++;

        }

        else

        {

        b[s]=x[i];

        s++;

        }

        }

        sort_btos(a,t);

        sort_stob(b,s);

        for(i=0;i<t;i++)

        {

        x[i]=a[i];

        }

        for(i=t;i<num;i++)

        {

        x[i]=b[i-t];

        }

       }

       void iodowith()

       {

        int p=P;

        a[0]=p;

        for(int i=0;i<L;i++)

        {

        if(i==L-1)

        {

        p=0;

        for(int j=0;j<P;j++)

        {

        if(T[i][j].io==1)

        {

        T[i+1][p].requrie=rand()%;

        printf("在第%d队第%d行设定io请求%d\n",i+1,j+1,T[i+1][p].requrie);

        p++;

        }

        a[i+1]=p;

        }

        }

        else

        {

        p=P;

        for(int j=0;j<P;j++)

        {

        if(T[i][j].io==1)

        {

        T[i+1][p].requrie=rand()%;

        printf("在第%d队第%d行设定io请求%d\n",i+1,j+1,T[i+1][p].requrie);

        p++;

        }

        }

        a[i+1]=p;

        }

        }

       }

       void NStepScan()

       {

        int D[];

        int M;

        TASK Y[];

        printf("-----------------------------------------------------\n");

        printf("next disk number\tmove distance\n");

       for(int i=0;i<L+1;i++)

        {

        M=a[i];

        for(int j=0;j<M;j++)

        {

        N[j]=T[i][j];

        }

        if(i==0)

        {

        if(flag==1)

        SortInToOut(N,diskway,M);

        else

        { SortOutToIn(N,diskway,M);}

        for(int j=0;j<M;j++)

        {

        Y[j]=N[j];

        }

        }

        else

        {

        if(Y[a[i-1]-2].requrie<Y[a[i-1]-1].requrie)

        {

        SortInToOut(N,diskway,M);

        }

        else

        {

        SortOutToIn(N,diskway,M);

        }

        for(int j=0;j<M;j++)

        {

        Y[j]=N[j];

        }

        }

       D[0]=abs(diskway-N[0].requrie);

        for(int t=1;t<M;t++)

        {

        D[t]=abs(N[t].requrie-N[t-1].requrie);

        }

        printf("-----------------------------------------------------\n");

        printf("第%d组的情况:\n",i+1);

        for(t=0;t<M;t++)

        {

        printf("\t%3d\t\t\t%3d\n",N[t].requrie,D[t]);

        }

        diskway=N[M-1].requrie;

        }

       }

       int main(int argc, char* argv[])

       {

       printf("n-STEP-SCAN算演示!\n");

        printf("随机产生小于的磁道号\n");

        printf("请输入队列个数 队列中磁道个数 输入当前磁道号(0-)\n");

        printf("请设定此时磁盘访问的方向(1.从里向外 2.从外向里)\n");

        scanf("%d%d%d%d",&L,&P,&diskway,&flag);

        init();

        output();

        iodowith();

        NStepScan();

        return 0;

       }

vb问题:希望可以给代码

       先新建一个模块,里面添加API声明

       Option Explicit

       Declare Function MoveWindow Lib "user" (ByVal hwnd As Long,精简自动采集源码 ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long

       Declare Function SendMessage Lib "user" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

       Public Const LB_INITSTORAGE = &H1A8

       Public Const LB_ADDSTRING = &H

       Public Const WM_SETREDRAW = &HB

       Public Const WM_VSCROLL = &H

       Public Const SB_BOTTOM = 7

       Declare Function GetLogicalDrives Lib "kernel" () As Long

       Declare Function FindFirstFile Lib "kernel" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN_FIND_DATA) As Long

       Public Const INVALID_HANDLE_VALUE = -1

       Declare Function FindNextFile Lib "kernel" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN_FIND_DATA) As Long

       Declare Function FindClose Lib "kernel" (ByVal hFindFile As Long) As Long

       Type FILETIME

       dwLowDateTime As Long

       dwHighDateTime As Long

       End Type

       Public Const MaxLFNPath =

       Type WIN_FIND_DATA

       dwFileAttributes As Long

       ftCreationTime As FILETIME

       ftLastAccessTime As FILETIME

       ftLastWriteTime As FILETIME

       nFileSizeHigh As Long

       nFileSizeLow As Long

       dwReserved0 As Long

       dwReserved1 As Long

       cFileName As String * MaxLFNPath

       cShortFileName As String *

       End Type

       然后在窗体上制作2个菜单,放置一个ListBox和一个PictureBox

       完整代码如下:

       Option Explicit

       Dim PicHeight%,新版短视频源码 hLB&, FileSpec$, UseFileSpec%

       Dim TotalDirs%, TotalFiles%, Running%

       Dim WFD As WIN_FIND_DATA, hItem&, hFile&

       Const vbBackslash = "\"

       Const vbAllFiles = "*.*"

       Const vbKeyDot =

       Private Sub Form_Load()

       ScaleMode = vbPixels

       PicHeight% = Picture1.Height

       hLB& = List1.hwnd

       SendMessage hLB&, LB_INITSTORAGE, &, ByVal & *

       Move (Screen.Width - Width) * 0.5, (Screen.Height - Height) * 0.5

       End Sub

       Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

       If KeyCode = vbKeyEscape And Running% Then Running% = False

       End Sub

       Private Sub Form_Resize()

       MoveWindow hLB&, 0, 0, ScaleWidth, ScaleHeight - PicHeight%, True

       End Sub

       Private Sub Form_Unload(Cancel As Integer)

       Set Form1 = Nothing

       End

       End Sub

       Private Sub mnuFindFiles_Click()

       If Running% Then: Running% = False: Exit Sub

       Dim drvbitmask&, maxpwr%, pwr%

       On Error Resume Next

       FileSpec$ = InputBox("Enter a file spec:" & vbCrLf & vbCrLf & "Searching will begin at drive A and continue " & "until no more drives are found. " & "Click Stop! at any time." & vbCrLf & "The * and ? wildcards can be used.", "Find File(s)", "*.exe")

       If Len(FileSpec$) = 0 Then Exit Sub

       MousePointer =

       Running% = True

       UseFileSpec% = True

       mnuFindFiles.Caption = "&Stop!"

       mnuFolderInfo.Enabled = False

       List1.Clear

       drvbitmask& = GetLogicalDrives()

       If drvbitmask& Then

       maxpwr% = Int(Log(drvbitmask&) / Log(2))

       For pwr% = 0 To maxpwr%

       If Running% And (2 ^ pwr% And drvbitmask&) Then _

       Call SearchDirs(Chr$(vbKeyA + pwr%) & ":\")

       Next

       End If

       Running% = False

       UseFileSpec% = False

       mnuFindFiles.Caption = "&Find File(s)..."

       mnuFolderInfo.Enabled = True

       MousePointer = 0

       Picture1.Cls

       Picture1.Print "Find File(s): " & List1.ListCount & " items found matching " & """" & FileSpec$ & """"

       Beep

       End Sub

       Private Sub mnuFolderInfo_Click()

       If Running% Then: Running% = False: Exit Sub

       Dim searchpath$

       On Error Resume Next

       searchpath$ = InputBox("输入要查找的目标路径", "文件夹信息", "C:\")

       If Len(searchpath$) < 2 Then Exit Sub

       If Mid$(searchpath$, 2, 1) <> ":" Then Exit Sub

       If Right$(searchpath$, 1) <> vbBackslash Then searchpath$ = searchpath$ & vbBackslash

       If FindClose(FindFirstFile(searchpath$ & vbAllFiles, WFD)) = False Then

       End If

       MousePointer =

       Running% = True

       mnuFolderInfo.Caption = "停止(&S)"

       mnuFindFiles.Enabled = False

       List1.Clear

       TotalDirs% = 0

       TotalFiles% = 0

       Call SearchDirs(searchpath$)

       Running% = False

       mnuFolderInfo.Caption = "文件夹信息(&F)"

       mnuFindFiles.Enabled = True

       Picture1.Cls

       MousePointer = 0

       MsgBox "Total folders: " & vbTab & TotalDirs% & vbCrLf & "Total files: " & vbTab & TotalFiles%, , "Folder Info for: " & searchpath$

       End Sub

       Private Sub SearchDirs(curpath$)

       Dim dirs%, dirbuf$(), i%

       Picture1.Cls

       Picture1.Print "Searching " & curpath$

       DoEvents

       If Not Running% Then Exit Sub

       hItem& = FindFirstFile(curpath$ & vbAllFiles, WFD)

       If hItem& <> INVALID_HANDLE_VALUE Then

       Do

       If (WFD.dwFileAttributes And vbDirectory) Then

       If Asc(WFD.cFileName) <> vbKeyDot Then

       TotalDirs% = TotalDirs% + 1

       If (dirs% Mod ) = 0 Then ReDim Preserve dirbuf$(dirs% + )

       dirs% = dirs% + 1

       dirbuf$(dirs%) = Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)

       End If

       ElseIf Not UseFileSpec% Then

       TotalFiles% = TotalFiles% + 1

       End If

       Loop While FindNextFile(hItem&, WFD)

       Call FindClose(hItem&)

       End If

       If UseFileSpec% Then

       SendMessage hLB&, WM_SETREDRAW, 0, 0

       Call SearchFileSpec(curpath$)

       SendMessage hLB&, WM_VSCROLL, SB_BOTTOM, 0

       SendMessage hLB&, WM_SETREDRAW, 1, 0

       End If

       For i% = 1 To dirs%: SearchDirs curpath$ & dirbuf$(i%) & vbBackslash: Next i%

       End Sub

       Private Sub SearchFileSpec(curpath$)

       hFile& = FindFirstFile(curpath$ & FileSpec$, WFD)

       If hFile& <> INVALID_HANDLE_VALUE Then

       Do

       DoEvents

       If Not Running% Then Exit Sub

       SendMessage hLB&, LB_ADDSTRING, 0, ByVal curpath$ & Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)

       Loop While FindNextFile(hFile&, WFD)

       Call FindClose(hFile&)

       End If

       End Sub

       程序运行时就能够通过输入文件名而进行模糊查找了

       如果还不明白,就加我QQ,莆田自助建站源码我把我做好的程序发给你看

       QQ号:

更多资讯请点击:娱乐

热门资讯

auto ptr源码

2024-12-28 20:531797人浏览

python badapple源码

2024-12-28 20:31646人浏览

中國女排橫掃德國 今追擊荷蘭

2024-12-28 18:572379人浏览

asp源码参数

2024-12-28 18:571491人浏览

推荐资讯

傷口照顧不簡單 掌握這些原則才會加速癒合

文:羅世倫國泰綜合醫院暨內湖國泰診所整形外科主治醫師)傷口的成因很多,有急性的擦挫傷、撕裂傷或燒燙傷,也有一直不易癒合的慢性潰瘍。所有的傷口治療都是一樣的嗎?那可不一定。傷口治療有一定的基本原則:需要

c function 源码

1.Java-Function函数式编程-入门2.MATLAB里bd_asymp函数源代码是什么?3.STL源码分析之std::functionJava-Function函数式编程-入门 Func