Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Farbe von String ändern

Mitglied: florengray

florengray (Level 1) - Jetzt verbinden

02.05.2008, aktualisiert 03.05.2008, 10354 Aufrufe, 10 Kommentare

Hallo,
beschäftige mich gerade damit VB Express zu erlernen.
Problem:
Ich habe Daten in einem String, die ich auf Fehler überprüfe.
Wenn ich per If dann zu so einem Fehler gekommen bin, soll das Zeichen, dann durch ein "#" ersetzt wird und dass soll dann auch Rot erscheinen.
Das heißt, ich will eine sonst schwarze Zeichenkette mit roten "#" spicken, wenn dort Fehler drin sind.
Die Variable die noch andere Zeichen enthält wird immer durch += erweitert.

Zuletzt wird dass dann in einer RTB angezeigt.
Ist das Möglich?
Ach ja, ich will nicht die Farbe in einer TextBox oder so ändern!
Die Fehelrroutine befindet sich in einem Public Modul welches ich von einer Form aus aufrufe.



Hoffe ihr könnt mir helfen.

(Ist ein Programm für Genetik)
Mitglied: miniversum
03.05.2008 um 10:08 Uhr
Verstehe ich das richtig das du einen Text in einer Variabeln vom Typ String einfärben willst? Das geh so nicht. Du könntest entweder eindeutige Markierungen an den stellen setzen. Wenn das # z.B. nicht sonst in dem Text vorkommt dan kans tdu das ja einsetzen. Diese Variable kanst du ja weiterhin mit + dann erweitern wie du möchtest. Bei der ausgabe must du dan einen Filer drüber laufen lassen der dier die ganzten # dann halt rot einfärbt.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 13:34 Uhr
Hallo,
ja so hast du das richtig verstanden.
Mal ein Beispiel:
DNA Sequenz mit Fehlern: TACGACGT?TACA?ACTA??G
So, die ? können nicht übersetzt werden. Sind durch Mutationen hervorgerufen worden.
Die will ich jetzt aber in meiner Überstzung speziell einfärben lassen.
Übersetzung dazu: AUGCUGCA#AUGU#UGAU##C
Dabei soll jedes # den Fehler anzeigen und rot erscheinen.
Das wollte ich gleich in dem Modul machen lassen, aber das scheint ja so nicht zu gehen.
Das mit dem Filter kannte ich noch nicht.
Wie geht das?
Könnte man das dann so machen, dass der Filter den Ausgabe String (Übersetzung) durchscannt und alle # rot färbt? Das wäre super!
Es wäre aber auch möglich, wenn der Filter mir dann die RTB scannen würde.
(Wäre für mich aber noch ein wenig umständlicher)

Schönen Tag noch!

florengray
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 14:09 Uhr
Den Filter müßtest du halt selbst schreiben.
Wenn du den String in die RTB schreibst mußt du danach einfach den Text nochmal durchlaufen, und die # markieren (geht über RTB.SelectedRtf). Danach kannst du dieses Zeichen einfärben mit
RTB.SelectionColor = Color.Red
Genaueres zum .SelectedRtf must du in der Hilfe nachschauen weil ichd as auch nur einmal gebraucht habe bisher und ich hier grade nicht nachschauen kann.
Im Prinzip halt die Teile des Textes in der RTB markieren und dann die Farbe wie beschrieben ändern.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 16:55 Uhr
Hallo,
wenn das geht wäre das echt super.
Werd ich mal ausprobieren.
Vielen Dank!

:edit
Habe ich ausprobiert.

RichTextBox1.Text = F_Output_DNA
RichTextBox1.Find("#")
RichTextBox1.SelectionColor = Color.Red

Damit wird aber nur das erste Zeichen rot gefärbt und die anderen vernachlässigt.
Hab schon gesucht, aber ich weiss jetzt nicht, was ich machen soll, damit der mir alle Fehler markiert.
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 18:29 Uhr
So sollte es gehen:
01.
RichTextBox1.Text = F_Output_DNA 
02.
pos = 0 
03.
Do 
04.
    pos = RichTextBox1.Find("#", pos + 1, RichTextBoxFinds.MatchCase) 
05.
    RichTextBox1.SelectionColor = Color.Red 
06.
    MsgBox(pos) 
07.
Loop While pos > 0
Er geht den ganzen String durch, sucht nach den "#", färbt dieses Zeichen ein und sucht dann weiter. Solange bis der String einmal durchsucht wurde.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 18:59 Uhr
Hallo,
es funktioniert wirklich!
Dankeschön!

Hab nur das pos=0 in Dim pos = 0 umgewandelt.
Wäre noch super, wenn ich den Code auch verstehen würde.

Also:
Eine Do While Schleife
Tue solange pos > 0 ist folgendes:
pos ist = die Position von dem jetziges Zeichen was gescannt wird
Und suche in RTB1 nach "#", wobei die var pos pro Durchlauf um 1 erhöht wird und ???

Das mit dem Match Case habe ich nicht verstanden.
Könntest du mir noch sagen, was das ist?

Ansonsten vielen Dank dafür.
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 19:23 Uhr
Das ganze war als Teil des Codes gedacht. Drum fehlt das dim pos.

Das ganze funktioniert nicht ganz so. Es wird nicht jedes einzelne Zeichen durchgegangen und verglichen, sondern:
pos = RichTextBox1.Find("#", pos + 1, RichTextBoxFinds.MatchCase)
Es wird die erste Position, nach pos+1, gesucht ander ein # steht. Diese Position wird wieder in pos gespeichert. Außerdem gilt dieses Zeichen dann als Selection.
Danach wird eben für dieses zeichen die Farbe verändert.
Danach wird ab dieser Position weiter gesucht wo das nächste mal ein # steht. Das ganze läuft so lange bis eben einmal der Ganze String in der RichTextBox1 durchsucht wurde. Dann liefert das find als position eine -1 zurück und die Schleife bricht ab.
Das MsgBox kannst du natürlich rausnehmen. Das war nur zur Anschauung drin. Es sollte dir die Position anzeigen ander sich jeweils die # befinden.
Das MatchCase brauchst du eigentlich garnicht umbedingt. Dieser Parameter ist optional. Allerdings gibt es mehrere Überladungen von Fin und daher kanns sein das die Falsche ausgewählt wird ohne diesen Parameter.
Bitte warten ..
Mitglied: florengray
03.05.2008 um 19:50 Uhr
Danke für die Erklärung!

Habe aber jetzt noch ein Problem.
Ich habe die versch. Strings, nach denen gesucht werden soll in Arrays gespeichert.
z.B. xyz(0) = ACT xyz(1) = TTG
Das wird in einem anderen Form von einem Benutzer eingegeben und dann halt eben in diesen Arrays gespeichert.
Wenn ich dann in diesem Form eine For laufen lassen zeigt die mir in einer MsgBox alle Inhalte an, die ich vorher in den Arrays speichern lies. (Das ist nur zum Fehler suchen)
In einem anderen Modul habe ich dieses xyz() as Public und als String deklariert, damit andere Funktionen darauf noch zugreifen können.
Wenn ich jetzt z.B. deinen Code dazu verwende, um nach den Strings zu suchen, lasse ich wieder eine For laufen und habe statt des "#" die xyz(a) stehen wobei das a in der For mit einer Zahl gefüllt wird. Dann müsste ja z.B. ACT bei xyz(1) wieder erscheinen.
Der gibt mir aber Fehlermeldungen zurück.
Ich habe soweit rausgefunden, das ich zwar in dem anderen Modul wo die Arrays festgelegt werden, die Arrays auch anzeigen lassen kann aber sobald ich das Modul verlasse und mir die Inhalte wann anders anzeigen lassen möchte sind die Arrays alle Leer???????
Und das gibt den Fehler.
Frage: Warum sind die Arrays alle leer? Habe sie doch als Public deklariert?
Public xyz() As String

:edit

ReDim Preserve Erw_Bear_Opt_find_mark(tmp_4)

Das ist auch eine Zeile aus dem Form, wo der Benutzer seine Suchstrings eingibt.
Da steht aber ein Re-DIM-Preserve drin !!
Das wird wohl der Fehler sein.Aber wie krieg ich das behoben?
Bitte warten ..
Mitglied: miniversum
03.05.2008 um 20:04 Uhr
Ich denke es wäre gut wen du dafür ein extra posting aufmachen würdest weil es mit der eigentlichen Frage ja nichts mehr zu tun hat.

Und ich verstehs ncith ganz. Du hast in einem Modul das array als public deklariert udn willst in in einem andern nutzen oder wie?
Bitte warten ..
Mitglied: florengray
03.05.2008 um 20:14 Uhr
Ok neuer Post: Arrays an andere Form übergeben
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Mit einem Button Text und Farbe einer Zelle ändern

Frage von TommylikMicrosoft Office3 Kommentare

Hallo, Ich habe folgendes Problem: Im Bereich D12 bis J20 (der Bereich kann auch größer sein) habe ich in ...

Windows 10

Windows 10 - Schriftart Farbe ändern

gelöst Frage von JuckieWindows 102 Kommentare

Hallo zusammen, ich habe schon sämtliche Einstellungen für das Ändern der Schriftfarbe unter Windows 10 durchsucht, aber nie das ...

Microsoft Office

Excel Zelle durch anklicken farbe ändern

gelöst Frage von kingMicrosoft Office3 Kommentare

Hallo Zusammen Mein Problem ist, dass ich eine Zelle mi Text habe. Diese soll jetzt durch anklicken sich farblich ...

Batch & Shell

Batch um String innerhalb Dateiname zu ändern

gelöst Frage von lordofremixesBatch & Shell3 Kommentare

Hallo zusammen, Ich suche eine Batch / Powershell, die folgendes macht: Ausgangslage: Ordner mit ca 100 Dateien in z.B. ...

Neue Wissensbeiträge
Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 1 TagRouter & Routing9 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 2 TagenNetzwerkgrundlagen

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 3 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

LAN, WAN, Wireless
Erfahrung mit dem tplink eap115-wall
Erfahrungsbericht von fisi-pjm vor 4 TagenLAN, WAN, Wireless

Die Hintergründe Als ausgebildeter Fisi und ambitionierter "Hobby ITler" bin ich Netzwerktechnisch immer auf der Suche nach "schönen" Lösungen ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Netzwerklaufwerk verbinden nicht möglich
gelöst Frage von SteiniMNetzwerkmanagement13 Kommentare

Hallo Leute, ich bin neu hier und brauche eure Hilfe. Danke schon mal im Voraus. Ich habe folgendes Problem: ...

Apache Server
Webserver überlastet - wie entlasten?
Frage von coltseaversApache Server13 Kommentare

Hi ho, ich hoste aktuell für nen Kunden eine Webseite basierend auf Wordpress. Die Seite liegt auf einem Debian ...

Router & Routing
Endlich: Reines Kabel-TV Modem in D erhältlich !
Information von aquiRouter & Routing9 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Windows 10
Backup von NAS auf externe Festplatte in verschiedenen Räumen
Frage von kvnbucherWindows 109 Kommentare

Guten Tag Ich habe vor kurzem ein Synology NAS DS218+ installiert und sämtliche Daten von meinen Computern auf das ...