Programmering 2 Omvandling av strängar

Permalänk

Programmering 2 Omvandling av strängar

Tja

Läser programmering 2 och har fått brain freeze, vad menar boken här?

private void btnKör_Click (object sender, EventArgs e) { int tal1 = ParseToInt( tbxtal1.Text); int tal2 = ParseToInt( tbxtal2.Text); int summa = tal1 + tal2; tbxSvar.Text = summa.ToString(); }

Jag fattar inte vad som händer, vad är ParseToInt? Ska det inte vara int.Parse? Vad är meningen med tbxtal.Text?

Om någon med bredare kunskap inom programmering svarar så uppskattas det verkligen!

Permalänk
Medlem
Skrivet av Field_trip:

Tja

Läser programmering 2 och har fått brain freeze, vad menar boken här?

private void btnKör_Click (object sender, EventArgs e) { int tal1 = ParseToInt( tbxtal1.Text); int tal2 = ParseToInt( tbxtal2.Text); int summa = tal1 + tal2; tbxSvar.Text = summa.ToString(); }

Jag fattar inte vad som händer, vad är ParseToInt? Ska det inte vara int.Parse? Vad är meningen med tbxtal.Text?

Om någon med bredare kunskap inom programmering svarar så uppskattas det verkligen!

Rent spontant uppfattar jag det som:
ParseToInt är nog en metod som du själv ska implementera.
tbxSvar.Text hintar om att du har en windows forms applikation där du sätter texten i en "text box" till summan av de två talen.

Men kolla uppgiftsbeskrivningen igen, bör stå där tycker jag.

Visa signatur

There is always a price to pay for convenient

Permalänk
Medlem
Skrivet av Field_trip:

Tja

Läser programmering 2 och har fått brain freeze, vad menar boken här?

private void btnKör_Click (object sender, EventArgs e) { int tal1 = ParseToInt( tbxtal1.Text); int tal2 = ParseToInt( tbxtal2.Text); int summa = tal1 + tal2; tbxSvar.Text = summa.ToString(); }

Jag fattar inte vad som händer, vad är ParseToInt? Ska det inte vara int.Parse? Vad är meningen med tbxtal.Text?

Om någon med bredare kunskap inom programmering svarar så uppskattas det verkligen!

ParseToInt är antagligen en egen metod som de inte brytt sig om att visa. tbxSvar.Text antyder att det finns en TextBox vars textvärde kommer att uppdateras till summan av de två talen.

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Medlem
Skrivet av Field_trip:

Tja

Läser programmering 2 och har fått brain freeze, vad menar boken här?

private void btnKör_Click (object sender, EventArgs e) { int tal1 = ParseToInt( tbxtal1.Text); int tal2 = ParseToInt( tbxtal2.Text); int summa = tal1 + tal2; tbxSvar.Text = summa.ToString(); }

Jag fattar inte vad som händer, vad är ParseToInt? Ska det inte vara int.Parse? Vad är meningen med tbxtal.Text?

Om någon med bredare kunskap inom programmering svarar så uppskattas det verkligen!

Vad står det i boken, är ju vad jag undrar utifrån din fråga?

ParseToInt låter som namnet på någon egen metod. Är det månne så att du förväntas implementera den? (Vild gissning utan att veta vad det står i boken)

Vad gäller .Text-propertyn så är mitt intryck utifrån namngivningen att det nog är en TextBox-kontroll och isf är det där då propertyn för att komma åt själva textinnehållet. Se https://docs.microsoft.com/en-us/dotnet/api/system.windows.fo...

Visa signatur

Desktop spel m.m.: Ryzen 9800X3D || MSI X870 Tomahawk Wifi || MSI Ventus 3x 5080 || Gskill FlareX 6000 64GB || Kingston KC3000 2TB || Samsung 970 EVO Plus 2TB || Samsung 960 Pro 1TB || Fractal Torrent || Asus PG42UQ 4K OLED
Arbetsstation: Ryzen 7945HX || Minisforum BD790i || Asus Proart 4070 Ti Super || Kingston Fury Impact 5600 65 GB || WD SN850 2TB || Samsung 990 Pro 2TB || Fractal Ridge
Proxmox server: Ryzen 5900X || Asrock Rack X570D4I-2T || Kingston 64GB ECC || WD Red SN700 1TB || Blandning av WD Red / Seagate Ironwolf för lagring || Fractal Node 304

Permalänk

Jag brukar säga så här till mina elever. String är text int är nummer.

Du kan inte göra matte med text. Alltså du kan inte gör "Hund" + "Katt 200". Du måste förvandla texten till nummer alltså i detta Fall int. Sedan går det bra att göra matte allltså 200 + 100 det är logiskt.

tbxtal1.Text innehåller ju text om du vill göra matte tal1 + tal2; så måste du se till att det är nummer du arbetar med. Sen min känsla är att detta du håller på med är saker man gör i programmering 1 snarare än programmering 2. Men om du inte har gjort det innan så är det bra att du jobbar med olika typer av värden nu.

Permalänk

Här är exemplet till koden jag skrev i inlägget.

https://imgur.com/UdaBR6b

Permalänk
Medlem

Om det inte finns någon mer kontext till den där snutten kod så är det relativt värdelöst ja.

Precis som andra redan konstaterat så är det förmodligen en utelämnad metod samt en textbox i något GUI som får sin text satt, men hur man som student ska lyckas reda ut det själv verkar ju inte direkt glasklart.

Permalänk
Skrivet av evil penguin:

Vad står det i boken, är ju vad jag undrar utifrån din fråga?

ParseToInt låter som namnet på någon egen metod. Är det månne så att du förväntas implementera den? (Vild gissning utan att veta vad det står i boken)

Vad gäller .Text-propertyn så är mitt intryck utifrån namngivningen att det nog är en TextBox-kontroll och isf är det där då propertyn för att komma åt själva textinnehållet. Se https://docs.microsoft.com/en-us/dotnet/api/system.windows.fo...

ParseToInt är en metod jag insåg det direkt efter jag posta inlägget haha

using System.Windows.Forms; fungerar ej hos mig, Forms får en röd linje under.

Permalänk

https://imgur.com/6Wa9FFI

Här är hela sidan med den koden, antar att de hör ihop nu när jag ser att ParseToInt är en metod.

Permalänk
Medlem
Skrivet av Field_trip:

ParseToInt är en metod jag insåg det direkt efter jag posta inlägget haha

using System.Windows.Forms; fungerar ej hos mig, Forms får en röd linje under.

Se till att skapa upp projektet rätt för att enklast få igång en forms-applikation:
https://docs.microsoft.com/en-us/visualstudio/ide/step-1-crea...

Permalänk
Medlem
Skrivet av Field_trip:

ParseToInt är en metod jag insåg det direkt efter jag posta inlägget haha

using System.Windows.Forms; fungerar ej hos mig, Forms får en röd linje under.

Håll muspekaren över den röda linjen så kan du se varför.

Har du fått projektet från någon annan så kanske du måste lägga till en "workload" som heter ".NET desktop development" i Visual Studio, om det är VS du använder när du kodar.

Visa signatur

There is always a price to pay for convenient

Permalänk

Glömde svara, Windows.Forms fungerar nu; tack.

Permalänk

Operatorer, programmering 2

Tja

Varför skrivs inte detta ut?

class Program { static void Main(string[] args) { int vänster = 10, topp = 10, bredd = 10, höjd = 5; int x = 20, y = 20; bool träff = (vänster <= x && x <= vänster + bredd) && (topp <= y && y <= topp + höjd); } } }

Permalänk
Medlem

vad vill du ska skrivas ut och i vilket språk kodar du?

Visa signatur

"Det här systemet fungerar urkasst." - operatör.
"Hur ska det fungera då?" - jag
"Gör så att det fungerar som jag vill." - operatör.
/facepalm

Permalänk

Jag vill att variabeln träff ska skrivas ut, c# språket. Jag testade att skriva console.writeline(träff); men konsolfönstret stängs ner direkt.

Permalänk
Medlem
Skrivet av Field_trip:

Jag vill att variabeln träff ska skrivas ut, c# språket. Jag testade att skriva console.writeline(träff); men konsolfönstret stängs ner direkt.

Eftersom koden har körts klart så termineras processen.

Sätt Console.ReadLine(); på sista raden för att hålla konsollfönstret öppet tills du trycker på en tangent.

Visa signatur

| MSI B650 Tomahawk | Ryzen 7 9800X3D | ASUS RTX 3070 | 64GB DDR5 6000MHz | MSI MPG A1000G | Samsung 970 Evo M.2 1TB + 2x WD Black SN850X 2TB|

Permalänk
Skrivet av BrutalSwede:

Eftersom koden har körts klart så termineras processen.

Sätt Console.ReadLine(); på sista raden för att hålla konsollfönstret öppet tills du trycker på en tangent.

Jag gjorde det men samma sak händer, konsollfönstret stängs ner direkt. ReadKey(); fungerar inte heller då jag inte får upp konsolfönstret, samma med Read();

Permalänk
Medlem
Skrivet av Field_trip:

Jag vill att variabeln träff ska skrivas ut, c# språket. Jag testade att skriva console.writeline(träff); men konsolfönstret stängs ner direkt.

Kommer ge dig det absolut viktigaste rådet du någonsin kommer få när det kommer till programmering: använd google så mycket det bara går, 99.999999999999999% av alla frågor du har om programmering kan du få fram med max nån minuts googlande. Din frågeställning är lite vag, men jag tolkar det som att du vill skriva ut huruvida "träff" är true/false. Googlar man t.ex "Print boolean c#" så får man fram direkt att man kan använda Boolean.ToString().

Exempel på hur Boolean.ToString() används:
string strTräff = träff.ToString();
Console.WriteLine("Träff är = " + strTräff);
Console.ReadLine();

Permalänk
Medlem

Det låter väldigt konstigt.
Du får nog visa hela koden som beter sig så.

Visa signatur

Herman

Permalänk
Skrivet av sworst:

Det låter väldigt konstigt.
Du får nog visa hela koden som beter sig så.

Det är hela koden, den är från boken programmering 2, skriven av magnus lilja.

Permalänk
Skrivet av Cazioz:

Kommer ge dig det absolut viktigaste rådet du någonsin kommer få när det kommer till programmering: använd google så mycket det bara går, 99.999999999999999% av alla frågor du har om programmering kan du få fram med max nån minuts googlande. Din frågeställning är lite vag, men jag tolkar det som att du vill skriva ut huruvida "träff" är true/false. Googlar man t.ex "Print boolean c#" så får man fram direkt att man kan använda Boolean.ToString().

Exempel på hur Boolean.ToString() används:
string strTräff = träff.ToString();
Console.WriteLine("Träff är = " + strTräff);
Console.ReadLine();

Jag tycker att en bok med värdet 700kr bör ha med mycket viktig information än att låta studenter framstå som frågetecken.

Men ja, google är till stor hjälp, speciellt stackoverflow. Men tack, ska kolla in det du skrev.

Permalänk
Medlem
Skrivet av Field_trip:

Det är hela koden, den är från boken programmering 2, skriven av magnus lilja.

Jag menar hela koden där du har Console.ReadLine() med. Det borde inte kunna hända att fönstret med programmkörningen stängs om du har detta med.
Visa gärna hur hela Program.cs ser ut när du har detta med.

Visa signatur

Herman

Permalänk
Skrivet av sworst:

Jag menar hela koden där du har Console.ReadLine() med. Det borde inte kunna hända att fönstret med programmkörningen stängs om du har detta med.
Visa gärna hur hela Program.cs ser ut när du har detta med.

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using System.Data; using System.Text; namespace Programmering_2 { class Program { static void Main(string[] args) { int vänster = 10, topp = 10, bredd = 10, höjd = 5; int x = 20, y = 20; bool träff = (vänster <= x && x <= vänster + bredd) && (topp <= y && y <= topp + höjd); Console.WriteLine(träff); Console.Read(); } } }

Antingen så gör jag något fel eller så har inte författaren tagit med allt i exemplet. Det fungerar inte med readline(); fönstret öppnas inte ens.

Permalänk

Troligtvis därför att du har ett kompileringsfel.

Du inkluderar t.ex.
using System.Windows.Forms;

Men du försöker skapa en konsol applikation.

I Visual Studio kan du trycka F6 för att bygga och sedan se i Error list detta
Error CS0234 The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?) ConsoleApp1 C:\Code\Samples\ConsoleApp1\ConsoleApp1\Program.cs 5 Active

Permalänk

Den skriver ut False nu, vilket är det jag sökte. Tack för svaren.

Jag startade om VS bara.

Permalänk

Programmering 2

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.IO; namespace Programmering_2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); // Skapar ett fält med PictureBox-kontroller PictureBox[] bilder = new PictureBox[5]; // Position och dimension för första bildrutan int x = 0, y = 0, bredd = 50, höjd = 50; // Ställ in kontrollerna och lägg till i fönstret for (int i = 0; i < bilder.Length; i++) { bilder[i] = new PictureBox(); bilder[i].Left = x; bilder[i].Top = y; bilder[i].Width = bredd; bilder[i].Height = höjd; bilder[i].BackgroundImage = Image.FromFile("Bloomma.png"); bilder[i].Click += pbxBlomma_Click; this.Controls.Add(bilder[i]); x += bredd; } } private void pbxBlomma_Click(object sender, EventArgs e) { PictureBox klickadblomma = (PictureBox)sender; klickadblomma.BorderStyle = BorderStyle.FixedSingle; } } }

Asså blir jävligt frustrerad, ingenting funkar. Jag följde exemplet i boken exakt. Har ni någon aning?

Så här ska det se ut:
https://imgur.com/HBPyyVT

Permalänk
Medlem

Om du visar en bild på hur det ska se ut kan du väl åtminstone ge oss en bild på hur det ser ut när du kör programmet? Vad innebär att "ingenting" fungerar?

Visa signatur

10700K | NVIDIA RTX 3080

Permalänk
Medlem

nä, stryk min förra kommentar...du skapar ju kontrollerna i koden... var är det som inte funkar?

Kör du på windows i visual studio?

// LZ

Permalänk
Skrivet av kwame:

Om du visar en bild på hur det ska se ut kan du väl åtminstone ge oss en bild på hur det ser ut när du kör programmet? Vad innebär att "ingenting" fungerar?

Ursäkta.

Här är koden:
https://imgur.com/6xdQOIs

Permalänk
Skrivet av Tea42BBS:

nä, stryk min förra kommentar...du skapar ju kontrollerna i koden... var är det som inte funkar?

Kör du på windows i visual studio?

// LZ

Ja, jag kör på windows i VS.

Se imgur länken som jag laddade upp, jag har bilden men det kraschar där trots det.