|
Well this doesn't quite work
<br />
With Form1<br />
For I = 1 To DataGrid1.Col + 1<br />
FrmSearch.DataGrid1.Col = I<br />
Form1.Text1(I).Text = FrmSearch.DataGrid1.Text<br />
Next I<br />
End With<br />
Load Form1<br />
Form1.Visible = True
Any ideas?
This results in 1 field from the datagrid placed into 1 textbox on the other form
-- modified at 17:57 Tuesday 7th February, 2006
|
|
|
|
|
Well I have revamped my process
here is the steps involved
1.search for a customer by last name Done
2.click Search Done
3. see results in datagrid Done
4. select customerID cell which could be in any row
for the correct customer with mouse click Not Done
> Capture mouse click?
> Capture cell value ?
5. return the clicked cell's value to a textbox. Not Done
|
|
|
|
|
During looping throug the directories the program tries to access the system directory
"C:\System Volume Information". The access is denied by the system and I receive an error message.
See subject.
So far I know there are two pssibilities
1. To avoid the error with ATTRIBUTE
2. To catch the error with TRY.
If I use ATTRIBUTE I don't know how the code looks and where I have to implemente it.
If I use TRY the program does not continue the loop.
Mein Code :
Private Function FindFiles(ByRef FoundFiles As ArrayList, ByVal dirname As String, ByVal filespec As String, ByVal recurseDirs As Boolean) As ArrayList
Dim strFilter As String = filespec
Dim m_arExt() As String = strFilter.Split(";")
Dim dic As New IO.DirectoryInfo(dirname)
For Each Filter As String In m_arExt
For Each fname As String In System.IO.Directory.GetFiles(dirname, Filter)
FoundFiles.Add(fname)
Next fname
' recurse on subdirectory if so requested
If recurseDirs Then
For Each dname As String In System.IO.Directory.GetDirectories(dirname)
FindFiles(FoundFiles, dname, filespec, recurseDirs)
Next dname
End If
Next Filter
Return FoundFiles
End Function
Can anybody assist me to sove the problem ?
Best regards Theo
|
|
|
|
|
Avoid exception handling in the normal flow of the code. Creating exception objects is rather costly.
Look at the attributes. Here is the documentation of the codes:
MSDN: FileAttributes Enumeration[^]
---
b { font-weight: normal; }
|
|
|
|
|
The articlke about ATTRIBUTE I found already. My problem is, I cant find a solution with this description. (Newbie).
Theo
|
|
|
|
|
You should have security permission to process a task on the directory which is protected by the OS. Therefore, define System.Security.IPermission() in the imports section and then create fileiopermission for the specific files under the specific directory.
|
|
|
|
|
Thank very much you for your answer.
I did was you suggest.
Imports System.Security
and, to get full access
Dim f As New Permissions.FileIOPermission(Permissions.PermissionState.None)
f.AllLocalFiles = Permissions.FileIOPermissionAccess.AllAccess
The result : I still got an error.
But I dont want to access the system directories. My favorite solution would be to avoid the error by using the ATTRIBUTE Class. But I dont now how to use. Do you have an idea ?
Best regards Theo
|
|
|
|
|
Hi!
You are able to reach to attributes of the files or even for directories. Here is an example. You have used an array what keeps all the files names. Therefore you can call their attributes.
File.SetAttributes(FileName, FileAttributes.ReadOnly)
|
|
|
|
|
Hi Journey,
The error comes up in this line of my code :
For Each fname As String In System.IO.Directory.GetFiles(dirname, Filter)
How can I interate your line
File.SetAttributes(FileName, FileAttributes.ReadOnly)
into my code ?
Regards Theo
|
|
|
|
|
You shouldn't get any error messages because of trying to reach the system directory. I did a few samples and those worked out in my puter. Here is a good sample how to recurse the directories. Check this out!
' For Directory.GetFiles and Directory.GetDirectories
' For File.Exists, Directory.Exists
Imports System
Imports System.IO
Imports System.Collections
Public Class RecursiveFileProcessor
Public Overloads Shared Sub Main(ByVal args() As String)
Dim path As String
For Each path In args
If File.Exists(path) Then
' This path is a file.
ProcessFile(path)
Else
If Directory.Exists(path) Then
' This path is a directory.
ProcessDirectory(path)
Else
Console.WriteLine("{0} is not a valid file or directory.", path)
End If
End If
Next path
End Sub 'Main
' Process all files in the directory passed in, recurse on any directories
' that are found, and process the files they contain.
Public Shared Sub ProcessDirectory(ByVal targetDirectory As String)
Dim fileEntries As String() = Directory.GetFiles(targetDirectory)
' Process the list of files found in the directory.
Dim fileName As String
For Each fileName In fileEntries
ProcessFile(fileName)
Next fileName
Dim subdirectoryEntries As String() = Directory.GetDirectories(targetDirectory)
' Recurse into subdirectories of this directory.
Dim subdirectory As String
For Each subdirectory In subdirectoryEntries
ProcessDirectory(subdirectory)
Next subdirectory
End Sub 'ProcessDirectory
' Insert logic for processing found files here.
Public Shared Sub ProcessFile(ByVal path As String)
Console.WriteLine("Processed file '{0}'.", path)
End Sub 'ProcessFile
End Class 'RecursiveFileProcessor
|
|
|
|
|
Good morning Journey,
Thanks for taking care of my problem. I havn't check your code yet because I'm a little bit tired for spending my nights in front of the computer. I find another solution with the ATTRIBUTE Class. It's works too. I will check your code next week because my leave starts.
If you can find a hidden problem in my code please tell.
Public Function BrowseForMediaFiles(ByRef AL_MediaFileAndPath As ArrayList, ByVal selectedPath As String, ByVal exTensions() As String) As ArrayList
Dim dic As New IO.DirectoryInfo(selectedPath)
Dim AtrrDir As Object
For Each Filter As String In exTensions
For Each fname As String In System.IO.Directory.GetFiles(selectedPath, "*." + Filter, IO.SearchOption.TopDirectoryOnly)
AL_MediaFileAndPath.Add(fname)
Next fname
Next Filter
For Each dirc As IO.DirectoryInfo In dic.GetDirectories()
AtrrDir = dirc.Attributes 'Determine directory attribut.
Select Case AtrrDir
Case 22, 8214
'AtrrDir=22 The directory is a system directory. The directory is part
'of the operating system or used exclusively by the operating system
Case Else
For Each Filter As String In exTensions
For Each fname As String In System.IO.Directory.GetFiles(dirc.FullName, "*." + Filter, IO.SearchOption.AllDirectories)
AL_MediaFileAndPath.Add(fname)
Next fname
Next Filter
End Select
Next dirc
Return AL_MediaFileAndPath
End Function 'BrowseForMediaFiles
|
|
|
|
|
Beim Lauf durch die Verzeichnisse greift das Programm u.a. auf das Verzeichnis
"C:\System Volume Information" zu. Der Zugriff wird dann verweigert und es wird eine Fehlermeldung zurück gegeben.
Wie kann ich diese Meldung Abfangen (TRY) bzw. vermeiden mit Attribute ?
Bei Abfangen mit Try wird die Schleife nicht weiter durchlaufen.
Bei Vermeidung des Fehlers mit ATTRIBUTE weis ich nicht wie und wo ich diese Abfrage einbeuen muß.
Mein Code :
Private Function FindFiles(ByRef FoundFiles As ArrayList, ByVal dirname As String, ByVal filespec As String, ByVal recurseDirs As Boolean) As ArrayList
Dim strFilter As String = filespec
Dim m_arExt() As String = strFilter.Split(";")
Dim dic As New IO.DirectoryInfo(dirname)
For Each Filter As String In m_arExt
For Each fname As String In System.IO.Directory.GetFiles(dirname, Filter)
FoundFiles.Add(fname)
Next fname
' recurse on subdirectory if so requested
If recurseDirs Then
For Each dname As String In System.IO.Directory.GetDirectories(dirname)
FindFiles(FoundFiles, dname, filespec, recurseDirs)
Next dname
End If
Next Filter
Return FoundFiles
End Function
kann mir jemand weiter helfen ?
Gruß Theo
|
|
|
|
|
You'll find more help if you can translate this into English.
To actually recurse, you need to write a recursive function, this will only work to one level.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hiya,
I'm trying to import some data from a text file. Its delimited by a carriage return.
I've tried
myRow(i) = myLine.Split(vbcrlf)
and I've tried
myRow(i) = myLine.Split(Chr(13))
but Split just wont split it.
Any other ideas?
|
|
|
|
|
Read it a line at a time to start with ? Is this VB6 or VB.NET ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Its VB.net 1.1
And Sorry, I was trying to simplify the question as much as possible and may have mislead away from the problem.
Its a string, not a file, that has been generated by a stream from a httpWebResponse.
Therefore its one string full of data that is delimited by a line feed.
I'm trying to break that string up into an array for each record.
|
|
|
|
|
If splitting on Environment.NewLine does not work, then you should look at the string in memory using the debugger and work out what delimiter to use.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Whenever I used XP Button(Flat style->system) in vb.net appls with an icon or image,the image or icon is not shown... But this does if I select flat style->standard or others except system....Is there any another method, becouse I've seen some XP Buttons containing image or icon, eg. in the following link(nero burning appls)
click here
|
|
|
|
|
|
hi
i have a vb 5.0 program for a camera which orders the camera to zoom in and out and move left, right etc..
how can i upgrade a program which is in vb 5.0 to vb 6.0.
i have the source code and what do i do?
thanking you
|
|
|
|
|
I can't remember if VB6 has an Upgrade wizard or not. I don't remember seeing one. That being said, I think your only option is to rewrite the code in a VB6 project.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
There is no upgrade wizard in vb6 like vb.net. But when you open your vb5 project in vb6 application, it will prompt you to convert your project to vb6 project. Then after it convert you will be able to coding your application in vb6 language. And when you try to open to open your covert project in vb5 it won't be able to open.
If you want to covert your code make sure that you backup your orginal project. Because some function might not work in vb6 that need you to rewrite it again.
|
|
|
|
|
Hi, can anyone give me some pointers here, I’m currently converting a MS Access project to VB.NET and I’m finding the data structures very slow to use, for example in VB.NET I’m creating a typed Dataset adding a query to it if needed and calling it like so:
Private dtNorskeImport As DBSGeeGroupLIVEDataSet1.tblNorskeImportDataTable<br />
Private drNorskeImport As DBSGeeGroupLIVEDataSet1.tblNorskeImportRow<br />
Private taNorskeImport As New DBSGeeGroupLIVEDataSet1TableAdapters.tblNorskeImportTableAdapter<br />
<br />
dtNorskeImport = taNorskeImport.GetDataByNull<br />
drNorskeImport = dtNorskeImport.Rows(0)<br />
drNorskeImport.Feild1 = 123<br />
taNorskeImport.Update(dtNorskeImport)
Is there a better way? Or Faster way?
-- modified at 12:02 Tuesday 7th February, 2006
|
|
|
|
|
What data structures? You've shown un a bunch of code that you wrote to call methods in your classes, but nothing that could be used to determine what could be so slow in those methods.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Sorry, the slow part is all the code that is required to do such a simple task.
|
|
|
|