bin gerade am Experimentieren mit der vs-Hilfe. Habe jetzt vc# und vb
installiert.
Wenn ich in vb z.B. "TextBox1" markiere, kommt die online-Hilfe für vc#.
(Wie ich jetzt herausgefunden habe kann man oben rechts auf der Seite
einstellen, dass vb-Code kommt => also alles in Ordnung)
(https://
)docs.microsoft.com/de-de/dotnet/api/system.windows.forms.textbox?redire
ctedfrom=MSDN&view=netframework-4.7.2
Genau die gleiche Hilfe möchte ich in vc haben. Es kommt aber nur ein
nicht interessierender Hinweis auf "previous version"
(https://
)docs.microsoft.com/de-de/previous-versions/visualstudio/visual-studio-2
010/dd831853(v=vs.100)
Wie stelle ich in vc# ein, dass die online-Hilfe richtig funktioniert?
Horst schrieb im Beitrag #5606614:
> such dir was besseres
Standardanwendung ist bei mir, Dateiordner lesen, sortieren
txt-Dateien schreiben und lesen.
in vb lese ich ein Dateiverzeichnis so:
abfr= Dir("xyz")
do while abfr<>""
abfr=dir()
loop
Dir stammt wohl noch aus Dos-Zeiten.
In vc# bin ich mit der Umsetzung dieser Aufgabe bislang gescheitert.
Hilft auch nicht, den code irgendwoher zu bekommen. Der Einstieg in vc#
ist wohl mit Arbeit verbunden. Habe jetzt 700 Seiten Tutorial
ausgedruckt und wühl mich durch das Geraffel mal durch.
Du bist in C#?
Ist es möglich, dass Du eine Referenz auf Microsoft.VisualBasic… im
Projekt vermisst?
Wenn ich das so richtig verstehe, Du suchst nach lokalen Verzeichnissen
oder so? Das geht in C# und VB.NET mittlerweile anders, aber bei beiden
gleich.
Mach mal den ObjectBrowser auf und suche nach dem Namensraum System.IO
im Assembly mscorlib. Da gibt's Klassen, wie Path, Directory, File,
DriveInfo, ...
Statt TextBox3.Text + @"\*.*" kannst Du dann auch schreiben
Path.Combine(TextBox3.Text,"*.*)
(Das ersetzt Dir unter Mono auf'm Raspi sogar noch den "\\" durch'n "/")
Framulestigo schrieb:> Ist es möglich, dass Du eine Referenz auf Microsoft.VisualBasic… im> Projekt vermisst?
Darauf würde ich auch tippen.
In C# würde man allerdings statt Dir() aus VB.net eher
Directory.GetFiles() (steckt in System.IO) oder eine der anderen
Funktionen der Directory-Klasse nehmen.
Framulestigo schrieb:> Da gibt's Klassen, wie Path, Directory, File, DriveInfo, ...
Danke, gefunden - mit alten dos- Kenntnissen jahrzehntelang
durchgemogelt...
Jetzt häng ich am listview:
[c]
try
{
var txtFiles =
Directory.EnumerateDirectories(sourceDirectory, "*.*",
SearchOption.TopDirectoryOnly);
foreach (string currentFile in txtFiles)
{
string fileName =
currentFile.Substring(sourceDirectory.Length);
FileAttributes attributes =
File.GetAttributes(sourceDirectory + fileName);
if (File.GetAttributes(sourceDirectory +
fileName) == FileAttributes.Directory) {
listView1.Items.Add(fileName);
//listView1.Items(i).SubItems.Add ("V");
//listView1.Items(i).SubItems.Add((Strings.Format(len,
"#,###")));
}
}
}
catch (Exception ex)
{
listBox1.Items.Add(ex);
}
[c/]
Der code geht in vb. In vc bekomme ich die subitems nicht gehandelt.
Wie lege ich in vc ein listview-subitem an?
grundschüler schrieb:> listView1.Items.Add(fileName);>> //listView1.Items(i).SubItems.Add ("V");> //listView1.Items(i).SubItems.Add((Strings.Format(len,> "#,###")));
Meinst Du das?
listView1.Items[i].SubItems.Add ("V");
C unterscheidet generell den Zugriff auf Feldelemente (auch Listen)
durch die Form der Klammern (->[i]).
Das i brauchst Du aber nicht, respektive i hast Du in Deinem Code gar
nicht drin. Schau Dir noch mal im ObjectBrowser die Signatur der
überladenen ListViewItemsCollection.Add-Methoden an. Du wirst
feststellen, die haben alle auch nen Rückgabewert.
-->
ListViewItem newItm = listView1.Items.Add(fileName);
newItm.SubItems.Add(...);
...sollte z.B. gehen.
Mit einigem Probieren ist der Einstieg in c# gar nicht so schwierig.
Jetzt habe ich folgendes Problem:
Bei Aufruf des Programms soll die System-Lautstärke - meist von
Lautspecher aus - auf einen bestimmten Wert eingestellt werden. Wie
greife ich von c# auf die Systemlautstärke zu?
Michael schrieb:
danke für deinen Beitrag. Das verlinkte Beispiel funktioniert auf Anhieb
perfekt. Ich hatte natürlich vorher selbst gegoogelt, bin aber nicht
weiter gekommen.
Problem für mich ist die Systematik der Einbindung von Resourcen:
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
> mit C# ganz vorne anfangen, und nicht einfach dein VB Programm in> eine dir unbekannte Sprach übersetzen wollen
Das ist nicht ganz einfach wenn man c-Vorkenntnisse hat. Ich bin mit
einem recht komplizierten c#-Projekt - auch dank deiner Hilfe - doch
recht weit gekommen.