RMBB
-
Innlegg
765 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av RMBB
-
-
Har ikke så mange andre planter, men kan vel kanskje komme fra andre steder. Kan høre på et hagesenter ja.
-
-
Jeg ser (tror jeg)
Replace vil ikke modifisere variabelen du kaller den på (string er en såkalt immutable datatype i C#), men vil i stedet returnere en ny string som du må ta vare på og gi som parameter til WriteAllText:
replacedText = txtfil.Replace(match.ToString(), "monitor=1"); File.WriteAllText("C:\\start.bat", replacedText);
Det gjorde du. Takker!
-
Har en .bat fil som inneholder blant annet "monitor=2"
Dette ønsker jeg å kunne bytte til "monitor=1"
Jeg bruker regex til å hente ut "monitor=2" og deretter .Replace til å erstatte den. Men det ser ikke ut til å virke. Noen som ser hva jeg gjør galt?
private void AddMonitor1_Click(object sender, EventArgs e) { string txtfil = System.IO.File.ReadAllText("C:\\start.bat"); var match = Regex.Match(txtfil, @"(?:monitor=)\d{1,4}"); txtfil.Replace(match.ToString(), "monitor=1"); File.WriteAllText("C:\\start.bat", txtfil); }
-
I stedet for regex, hva med IPAddress.TryParse?
Ellers kan du putte ^ og $ inn i pattern:
^(((25[0-5])|(2[0-4]\d)|([01]?\d?\d))\.){3}((25[0-5])|(2[0-4]\d)|([01]?\d?\d))$
Ettersom jeg har klart på finne ut så godtar IPAddress.TryParse nesten hva som helst av tall da den bare konverterer det til riktig format. (eks. 1=0.0.0.1) For å unngå feil må jeg forsikre meg om at brukeren har skrevet inn en korrekt ipadresse. Jeg forsøkte med ^$, men ikke hele utrykket. Ser det ut til å virke som det skal nå. Takk!
-
Jeg bruker koden under til å kontrollere input fra bruker slik at kun gyldige Ipadresser blir godtatt. Dette virker, men hvis jeg f.eks skriver A.10.0.0.1 Blir det også godtatt.
Jeg ønsker å ha det slik at bare tall og punktum godtas. Dette er nødvendig fordi jeg skal bruke "input" til å definere IPen til en server i en .bat-fil.
string input = Microsoft.VisualBasic.Interaction.InputBox("Skriv inn ønsket IP-adresse", "Endre IP", "eks: 192.168.1.1", -1, -1); var IpMatch = Regex.Match(input, @"(((25[0-5])|(2[0-4]\d)|([01]?\d?\d))\.){3}((25[0-5])|(2[0-4]\d)|([01]?\d?\d))"); if (IpMatch.Success) { MessageBox.Show(input + " Valid"); } else { MessageBox.Show(input + " Invalid"); }
-
Fikk du norsk tekst? Tenkte å gi bort i julegave, men må da helst ha norsk tekst..
-
ReadAllText() gjorde susen. Takk!
-
cd C:\Program Files\Jayclu\clientcd@start /MIN "Jayclu" "C:\Program Files\Jayclu\jre_x86\bin\javaw.exe" -Xss500k -Xmx1200m -Djava.library.path=.\lib64\;.; -jar Jayclu.jar host=localhost port=1099
-
Under ligger koden jeg bruker for å lese innholdet i en .bat fil. Hvis jeg fjerner likhetstegnet i LH klarer den å finne ordet, men ikke når likhetstegnet er med.
Noen som kan hjelpe meg med problemet?
string LH = "host=localhost"; string[] lines = System.IO.File.ReadAllLines("C:\\Program Files\\start.bat"); if (lines.Contains(LH)) { MessageBox.Show("host er satt til localhost"); }
-
Det kommer nok av at jeg ikke kan/forstår excel godt nok. Takk for utdypende svar:)
-
Okay, da skjønner jeg. Ville helst ha datoen i motsatt rekkefølge.
Takk for svar.
-
Har Office 2013.
Når jeg legger inn formel så får jeg bare #navn? feilmelding. Noen som har noen tips?
Formel: =DATO(dag;måned;år)
Virker ikke som om noen av formlene hvor man bruker "dato", "dag", "nå" osv. virker.
-
Den er på, men fortsatt ikke resultat. Fant en annen kode som virker. Lister til en textboks.
DataTable dt = SqlDataSourceEnumerator.Instance.GetDataSources(); foreach (DataRow dr in dt.Rows) { SQLinf.AppendText(string.Concat(dr["ServerName"], "\\", dr["InstanceName"] + Environment.NewLine)); }
-
Er det random maps nå? Etter whipe vil mappet bli helt anderledes?
-
Jeg jobber med et program som skal liste forskjellig informasjon, blant annet SQL informasjon.
Jeg bruker denne saken som jeg fant på stackoverflow.
public void SQLinfob() { string myServer = Environment.MachineName; DataTable servers = SqlDataSourceEnumerator.Instance.GetDataSources(); for (int i = 0; i < servers.Rows.Count; i++) { if (myServer == servers.Rows[i]["ServerName"]) { if ((servers.Rows[i]["InstanceName"] as string) != null) SQLbox.Items.Add(servers.Rows[i]["ServerName"] + "\\" + servers.Rows[i]["InstanceName"]); else SQLbox.Items.Add(servers.Rows[i]["ServerName"]); } } }
Får ingen feilmeldinger, men heller ingen resultater. Er det feil og bruke public void da denne skal liste til tekstboks? Kjører jeg debug med F11 virker det som om den ikke forsøker å kjøre denne i det hele tatt.
-
Fikk ikke det til Avean, men jeg fikk hjelp på stackoverflow. Måtte filtrere ut kort med loopback:
if (f.OperationalStatus == OperationalStatus.Up && f.NetworkInterfaceType != NetworkInterfaceType.Loopback)
- 1
-
Hvis du feilsøker litt da, f.eks deaktivere alle tilkoblinger utennom lokal tilkobling og ser hva du får ut da.
Eller skriver om til bare å hente maske fra lokal tilkobling. Se om det hjelper.
Btw, bruk Stack Overflow istedenfor diskusjon.no
Takker for svar.
Deaktiverte og avinstallerte så jeg bare får opp et kort når jeg kjører ipconfig, men fortsatt samme resultat.
Ja, må vel kanskje høre på Stack Overflow, men de er ofte så lite hyggelige, så forsøkte her først:)
-
Okay, men hvis den henter den første burde jeg jo fått opp noe annet.
her er Ip config. Modded noen tall, da jeg ikke vet hvor populært det er at jeg poster dem her.
Windows IP-konfigurasjon Vertsnavn . . . . . . . . . . . : Test Prim‘r DNS-suffiks . . . . . . . : Nodetype . . . . . . . . . . . . : Hybrid IP-ruting aktivert . . . . . . . : Nei WINS Proxy aktivert . . . . . . . : Nei S›keliste for DNS-suffiks . . . . : Domene.no Ethernet-kort Lokal tilkobling: Tilkoblingsspesifikt DNS-suffiks : Domene.no Beskrivelse . . . . . . . . . . : Marvell Yukon 88E8057 PCI-E Gigabit Ethernet Controller Fysisk adresse . . . . . . . . . : 00-25-12-8B-60-50 DHCP aktivert . . . . . . . . . . : Ja Automatisk konfigurasjon aktivert : Ja Koblingslokal IPv6-adresse. . . . : fec0::bbce:321:b10b:be15%20(Foretrukket) IPv4-adresse. . . . . . . . . . . : 192.168.1.23(Foretrukket) Nettverksmaske . . . . . . . . . .: 255.255.255.0 Leieavtale inng†tt. . . . . . . . : 10. juli 2014 03:22:07 Leieavtale utl›per. . . . . . . . : 14. juli 2014 03:22:07 Standard gateway . . . . . . . . .: 192.168.1.1 DHCP-server . . . . . . . . . . . : 192.168.1.1 DHCPv6-IAID . . . . . . . . . . . : 234756513 DHCPv6 klient-DUID. . . . . . . . : 00-02-00-01-12-C3-B7-7B-00-24-11-8B-60-50 DNS-servere . . . . . . . . . . . : 151.236.6.156 118.88.20.195 NetBIOS over Tcpip. . . . . . . . : Aktivert Tunnelkort isatap.Domene.no: Medietilstand . . . . . . . . . . : Medium frakoblet Tilkoblingsspesifikt DNS-suffiks : Domene.no Beskrivelse . . . . . . . . . . : Microsoft ISATAP Adapter Fysisk adresse . . . . . . . . . : 00-00-00-00-00-00-00-E0 DHCP aktivert . . . . . . . . . . : Nei Automatisk konfigurasjon aktivert : Ja Tunnelkort Lokal tilkobling* 9: Medietilstand . . . . . . . . . . : Medium frakoblet Tilkoblingsspesifikt DNS-suffiks : Beskrivelse . . . . . . . . . . : Microsoft 6to4 Adapter Fysisk adresse . . . . . . . . . : 00-00-00-00-00-00-00-E0 DHCP aktivert . . . . . . . . . . : Nei Automatisk konfigurasjon aktivert : Ja
-
Har funnet denne på et forum og modifisert den litt.
Koden under skal hente ut nettverksmasken, men når jeg kjører den så henter den ut 255.0.0.0 noe ingen av nettverkskortene mine har. Ser ut som den kjører for alle adapterne og deretter gir meg info fra den siste. Kan det stemme? Noen som kan hjelpe meg med denne?
public string Subnet() { string Maske = ""; foreach (NetworkInterface f in NetworkInterface.GetAllNetworkInterfaces()) if (f.OperationalStatus == OperationalStatus.Up) { IPInterfaceProperties ipInterface = f.GetIPProperties(); foreach (UnicastIPAddressInformation unicastAddress in ipInterface.UnicastAddresses) { Maske = (unicastAddress.IPv4Mask == null ? "Nettverksmaske er ikke definert" : unicastAddress.IPv4Mask.ToString()); } } return Maske; }
-
Da fikk jeg det til med mutex! Takk for hjelpen! Ga kred til Geir i og med at han var først ute med mutex svaret.
Slik ble det seende ut:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; namespace Mittprogram { static class Program { /// <summary> /// The main entry point for the application. /// </summary> static Mutex mx; const string singleInstance = @"MU.Mutex"; [STAThread] static void Main(string[] args) { try { System.Threading.Mutex.OpenExisting(singleInstance); MessageBox.Show("Dette programmet kjører allerede!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } catch (Exception e) { mx = new System.Threading.Mutex(true, singleInstance); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Main()); } } }
-
Det er en vesentlig enklere måte å få dette til med en mutex:
using System; using System.Threading; using System.Windows.Forms; namespace SingleInstance { static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var mutex = new Mutex(false, "MyApplication"); if (mutex.WaitOne(0)) { try { Application.Run(new Form1()); } finally { mutex.ReleaseMutex(); } } } } }
Det er strengt tatt ikke nødvendig med den finally saken.Ja, har sett på mutex, men skjønner ikke hvordan jeg skal bruke det. Skjønner dog tydeligvis ikke hvordan jeg bruker det jeg allerede har heller:S
-
>if (IsProcessOpen = true)
if (IsProcessOpen() = true) ?
if (IsProcessOpen() == true) tok seg av feilmeldingen, men får ikke opp noen meldingsboks når jeg kjører programmet to ganger.
Kan du se hvorfor?
-
Først litt info om hvorfor jeg spør:
Jeg er helt fersk når det kommer til programmering og har startet med å lage et enkelt program for moro skyld. Jeg har vært gjennom diverse tutoirals på youtube og andre sider, men det blir litt tungt i lengden og bare "lese/se" og ikke teste selv. Derfor har jeg satt i gang med et lite program. Så stopper det opp da jeg tydeligvis ikke har nok forståelse, derfor "jukser" jeg litt og spør om hjelp her.Jeg har en kode som jeg har funnet som skal hindre programmet mitt i å kjøre flere ganger. Men jeg vet ikke hvordan jeg skal bruke den.
Her er første del av programmet mitt(Har endret litt på navn):
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Diagnostics; namespace Hoved { public partial class Main : Form { public Main() { InitializeComponent(); } private void Op_Click(object sender, EventArgs e) { Op O = new Op(); O.ShowDialog(); this.Hide(); } private void Ro_Click(object sender, EventArgs e) { Ro R = new Ro(); R.ShowDialog(); this.Hide(); } private void Quit_Click(object sender, EventArgs e) { Application.Exit(); } } }
Dette er koden jeg vil bruke for å kontrollere om programmet allerede kjører:
public bool IsProcessOpen(string name = "Hoved") { foreach (Process clsProcess in Process.GetProcesses()) { if (clsProcess.ProcessName.Contains(name)) { return true; } } return false; }
Men jeg vet ikke hvordan jeg skal bruke true or false her. Forsøkte å lage en if statement men da fikk jeg beskjed om at IsProcessOpen er en "Method Group"
Forsøkte dette:public void Feilmelding() { if (IsProcessOpen = true) { MessageBox.Show("Dette programmet er allerede startet!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Noen som kan hjelpe meg?
edit: Lagt til C# i Tittel
SAMLETEST: 3x GTX 1070 Ti
i Diskuter dataartikler (Tek.no)
Skrevet
Litt of topic, men hvorfor lister dere ikke opp ytelse på flere skjermkort lenger? Her får man jo bare sammenlignet med en fire-fem modeller, savner en bedre oversikt..