webForumDet fria alternativet

äntligen...

.NET

12 svar · 518 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

fick jag min Visual Studio .NET skiva :e
Tog bara 3 ½ vecka...
Slängde in skivan i cd:n och allt som kommer upp är "Skivan är inte formaterad, vill du formatera den nu?" blir lite nervös, har dom skickat en kass skiva, byter läsare och upptäcker att det inte är cd-rom utan DVD :e
(första gången på 4 månader som jag fick användning för DVD spelaren)

Nu väntar jag bara på att installationen av ett antal gig ska bli klar :e

Någon som har lite tips på inlärnings metoder och hur skiten funkar?

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan juni 20011 732 inlägg
#2

Kan väl börja med ett "grattis" - vs.net är suveränt! :) När du (efter 17 timmar eller nåt) är färdig med installationen av vs.net så kommer du att önska dig en ny skärm i julklapp, man märker snabbt att verktygsfälten INTE FÅR PLATS på en skärm.

Det tgar ett tag att vänbja sig, åtminstone om man som jag hoppade från Homesite och är lite halvpuckad och har inlärningssvårigheter. :) Men efter ett tag kommer det flyta på som aldrig förr.

Skapa ett nytt projekt (c# såklart!) och sen är det bara att köra. Aöllt udner ett tak! Imporera tabellerna i dina databaser, skapa klasser, "dra och släpp" en textbox och sätt properties på den, dra in en knapp, dubbeklicka på den och du kommer rakt in i funktionen för vad som ska hända när du trycker på just den knappen!

Ett litet enkelt tips: I menyn Project, välj "Show all files". Då får du fram alla sidor i ditt "solution explorer-fönster", annars döljs av någon anledning dina cs-filer (om du kodar c#).

Hjälpen är dynamisk. Om du jobbar med en textbox, markera den så ser du att länkar till olika avsnitt för just textboxar kommer fram. Smidigt!

Det bästa i vs (tycker jag) är att du löpande i koden får upp listor och förklaringar på de metoder och properties som du kan sätta på olika element, både i din html-kod, asp.net, c# osv. Det kommer att snabba upp din kodning massor!

Finns säkert fler och bättre tips från de duktiga killarna (och tjejerna?) på det här forumet, men detta var lite tips från mig i alla fall. Kör så det ryker!

------------------
Jag kan inte komma på någon signatur.

[Redigerat av NETwork den 14 jan 2002]

Medlem sedan jan. 20013 341 inlägg
#3

Tur att man har en 19" och en 17" kopplade till datorn då :e

Jag förstår vad du menar med enkel heten, problemet är att jag enbart arbetat med ASP i Dreamweaver UD4, i "codeview" läget! Så man är lite vilse i djungeln just nu kan jag lätt påstå!

Men tack för tipsen!

Mer som har idéer förslag på var man ska börja?

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan juni 20011 732 inlägg
#4

Åkej, här kommer en väldigt basic nybörjarkurs i vs-net.

När du startar vs.net första gången hamnar du på "Start page". Börja med att skapa ett nytt projekt. Naturligtvis kan du skapa en enskild sida också och arbeta med, men det är förmodligen i projekt du kommer att arbeta. Välj förslagsvis ett Visual C# Project och sedan en ASP.NET Web Application.

När du har skapat ett nytt projekt kommer du direkt in i vs-nets utvecklingsmiljö. Jag går igenom de viktigaste verktygsfälten.

Solution Explorer - när du skapat ett projekt är det i detta fönster du hittar alla de filer som hör till projektet. Som jag skrev i mitt inlägg ovan, se till i menyn välja "show all files" så du ser alla filer i detta fönster. Bland de olika filerna hittar du en fil som är döpt till WebForm1.aspx. Detta är ditt fösta aspx-dokument, här skriver du din html- och asp.net-kod men INTE c#.

När du valt att visa alla filer kan du trycka på plustecknet framför WebForm1.aspx och där hittar du filen "WebForm1.aspx.cs" som hör till WebForm1.aspx. Det är i denna fil du skriver alla funktioner i det programmeringsspråk du valt, i mitt exempel alltså c# (därav filändelsen cs). Detta kallas code-behind, du blandar alltså aldrig din kod med html och asp.net.

Dubbelklicka på webform1.aspx så kommer filen att öppnas i designläget. Det finns två lägen för dina aspx-dokument - du kan växla mellan design och HTML längst ned i design- eller HTML-fönstret. HTML-läget visar som du säkert förstår din html/asp.net/javascript-kod etc etc och designläget visar sidan sådan den ser ut (WYSIWYG).

Det finns en tredje vy också, koden i dina cs-dokument. Du får fram den antingen genom att klicka på filen direkt i "solution explorer-fönstret" alternativt klicka på ikonen "view code" längst upp till vänster i samma vekrygsfält. Okej, detta är alltså de tre vyer du kommer att arbeta med, design-läget, html-läget (som ju visar samma sak men på olika sätt) samt din kod från cs-dokumentet.

Gå nu till designläget för WebForm1.aspx och titta i i fönstret "Properties". Här har du alla de properties som du kan sätta på den här sidan. Bakgrundsfärger, marginaler osv. I dina properties finns även något som heter "PageLayout" med värdet "Gridlayout" som default. Här kan du ställa in om du vill ha absolut positionering av bilder, textboxar osv, eller flowlayout, den gamla hederliga varianten där du får placera texter och bilder med tabeller. Det senare är väl att föredra om du vill att de som inte använder explorer5+ ska kunna se dina sidor, eller om du gillar att koda manuellt. Gridlayout funkar klockrent i nya webbläsare, men ibland vill man ändå ha gamla hederliga tabeller, speciellt om du gillar att pilla i html-koden för hand. Det kan bli rätt grötigt annars med alla styles och tjafs som läggs till i varenda tagg annars. Dock använder du såklart gridlayout när du exempelvis gör en windowsapp. Ändra nu till flow-layout, det blir lättare att se då!

Vi gör en jätteenkel funktion. Stanna kvar i design-läget och titta i verktygsfältet "Toolbox". Dra in en Textbox, en Button och en Label, antingen genom att dubbelklicka på dem eller dra in och släppa dem i designfönstret. Växla till HTML-läget. Som du ser så har du nu en <asp:textbox>, en <asp:button> och en <asp:label>. Alla med ett förutbestämt id samt attributet runat="server". Kolla nu i din cs-kod (klicka på ikonen längst upp till vänster i "solution explorer-fönstret".

Under public class WebForm1 : System.Web.UI.Page så har den nu lagt till följande:

protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Button Button1;

vs.net har alltså automatiskt skapat en instans av de webcontrols som du nyss skapat! Med andra ord, bara att börja koda. :)

Gå tillbaka till designläget och markera din textbox. Som du kanske ser så innehåller nu verktygsfältet "properties inte längre properties för sidan utan för din textbox. Ändra textboxens id till exempelvis "MinTextbox". Sätt Text till "Skriv något här" och backcolor till #ddeeff. Som du märker är det väldigt lätt att ändra properties på en kontroll. Har du flera textboxar kan du naturligtvis markera alla samtidigt och ändra properties på dem samtidigt!

Växla till html-läget. Tittar du i din <asp:textbox så ser du att den har lagt till ett antal properties. Naturligtvis kan du även skriva dem direkt här i html-koden. Placera nu markören direkt efter <asp:textbox [markören HÄR] ...> (alltså INNANFÖR taggen) och tryck ett mellanslag. Som du ser så kommer det nu fram en lista med ALLA properties som du kan sätta på just den här kontrollen, detta är jävligt praktiskt för det finns myyyycket som kan sättas och det är svårt att komma ihåg allt. Låt listan vara kvar framme och tryck på "m" så kommer du direkt att hoppa ned till första propertien som börjar på "m", i det här fallet "MaxLength". Tryck på enter så fylls maxlength i automatiskt och sätt värdet till exempelvis 10. Smidigt va! För hur jobbigt var det inte att sätta en MaxLength på en textarea förut! Nu är det en barnlek... :D

Okej, nu måste det ju hända något när du klickar på knappen. Sätt markören efter <asp:button och tryck på mellanslag... tryck bokstaven "o" så ser du att du direkt kommer att hamna på "OnClick". Men vänta, vi gör på ett ännu snabbare sätt. Gå ut till designläget igen och dubbeklicka på din button. Som du märker så hoppar du nu direkt in i ditt cs-dokument och den har nu skapat en funktion där du kan skriva din kod för vad som ska hända när du trycker på knappen!

private void Button1_Click(object sender, System.EventArgs e) {
}

Okej, när du trycker på knappen så vill jag att det som står i textboxen ska skrivas ut i labeln. Textboxen har vi även ändrat id på (MyTextbox), men labeln har fortfarande sitt default-id (Label1).

SKriv i funktionen:

MyTextbox.

Stanna efter punkten. Som du ser får du även här upp en lista på ALLT du kan göra på din textbox när du trycker "punkt" på tangentbordet efter att du skrivit namnet (Id) på din textbox och det är rätt mycket det! Eftersom jag vill ha texten som står i textboxen väljer jag "Text". Denna text ska jag sedan sätta på min label.

Label1.Text = MyTextbox.Text;

När du trycker på knappen så kommer den att köra funktionen Button1_Click och sätta texten i min label till den text som står i textboxen!

Avslutningsvis så måste du "builda" sidan (kompilera den). Kortkommandot för det är Ctrl+Shift+B. Prova och se om det funkar!

Detta var en kort liten basic-genomgång av vs.net, hoppas det inte bara var gammal skåpmat...

------------------
Jag kan inte komma på någon signatur.

[Redigerat av NETwork den 15 jan 2002]

Medlem sedan feb. 20001 590 inlägg
#5

Kan meddela att Microsoft numer övergett CD-Rom, och bara kommer att leverera .Net och "stora" releaser på DVD.

/T

------------------
Jensen Ambassadör, mitt bästa köp! www.jensen.no

Medlem sedan jan. 20013 341 inlägg
#6

Tack NETwork, underbar nybörjarkurs!
Jag visste det mesta efter att ha lekt med Visual Studio 6 men inte kodningen. Det är där problemen börjar :(

Kan man t ex skapa en sida som uppdateras utan Meta-Refresh? Som en applet men i .NET? T ex en sida som visar inloggade personer på en sajt och arbetar mer eller mindre i realtid, utifrån en databas?

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan juni 20011 732 inlägg
#7

Nej, jag tror inte det finns något annat sätt än meta-refresh. Självklart kan du exempelvis skapa en services som hämtar data kontinuerligt från en db och som ligger till grund för din webbapp, men det händer ju ändå inget på din sida förrän du uppdaterar sidan (runat=server du vet).

Vad jag vet finns det alltså ingen motsvarighet till applets i .net.

Ett litet tillägg appropå automatisk uppdatering. :) En kompis byggde en irriterande service som han installerade på min dator. Han la ut ett apfult foto på mig på nätet och skapade ett program som en gång i timmen hämtade detta foto och satte det som bakgrundsbild på min dator. Det spelade alltså ingen roll hur många gånger jag bytte bakgrundsbild och raderade det där förbannade fotot, det kom upp gång på gång... de hade rätt kul åt det där innan jag kom på hur jag skulle avinstallera det...

------------------
Jag kan inte komma på någon signatur.

[Redigerat av NETwork den 15 jan 2002]

Medlem sedan jan. 20013 341 inlägg
#8

Helt otroligt att Microshit inte gjort en sådan funktion för internet, med tanke på att internet idag blir allt mer informations baserat, information som kräver ständig uppdatering!

Tänk er t ex Aftonbladet, att ha en ruta som automatiskt hämtar nyhetsrubriker allt efter dom kommer in skulle vara guld värt för en sån sida!

Eller som jag tog upp i ett tidigare inlägg, chattar som idag blir allt mer populärt!

Ok, man skulle väl kanske kunna skapa en ActiveX kontroll för det, men vilken webbläsare tillåter det idag utan att sänka säkerheten? IE gör det inte iaf!

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan juni 20008 205 inlägg
#9

Man får säga vad man vill om Microsoft (vilket jag gärna gör ;) ), men att de inte "fixat" realtidsuppdatering av webbsidor är inte vidare konstigt och det är definitivt inget man kan lasta dem för.
Använder man HTTP får man stå ut med att arbeta med ögonblicksbilder, eftersom det inte är avsett att användas för realtidskommunikation. Skulle MS (eller någon annan) skapa något sätt att göra realtidsuppdateringar på via HTTP (vilket låter smått otroligt att de skulle göra, eftersom det är bra nära omöjligt) så skulle det dessutom innebära att alla webbläsare på hela jorden måste bytas ut. Ett ganska digert arbete. Sen skulle det förstås krävas att det blev en W3C-standard för att få acceptans, och säkerligen en hel del annat arbete.
Vill man ha realtid får man använda något annat. Applet, ActiveX eller liknande.
------------------
Before you criticize someone, walk a mile in his shoes. That way, if he gets angry, he'll be a mile away - and barefoot.

[Redigerat av spango den 16 jan 2002]

Medlem sedan dec. 19995 874 inlägg
#10

NETwork

Jag är intresserad av hur han byggde den där services.

Vill han visa kod?

------------------
Mvh
Patrik aka Brimba

Medlem sedan juni 20011 732 inlägg
#11

Har du vs.net? Jag har inte provat själv (måste göra det nu bara för det) men jag sitter här och kollar lite vad han har gjort..

Skapa ett nytt projekt --> windows Service i vs.net så har du grunden för din service färdig.

En enkel service som skriver till ett par nycklar i registret en given tid verkar inte så svårt att göra. Skapa först en timer (using System.Timers):

timer = new Timer();
timer.Elapsed += new ElapsedEventHandler(OnTimer);
timer.Interval = 60000 * 60;	//1 hour

När denna inträffar (en gång i timmen) så körde han en funktion som kopierar en bild, lägger den på min dator och sedan ändrar i registret så att bakgrundsbilden på skrivbordet pekar på den här bilden (using Microsoft.Win32):

protected void OnTimer(Object source, ElapsedEventArgs e){
File.Copy("\\\\dator\\på\\nätverket\\bilden.bmp", "c:\\bilden.bmp", true);
DesktopKey.SetValue("Wallpaper", "c:\\bilden.bmp");
DesktopKey.SetValue("WallpaperStyle", "2");
}

(DesktopKey är en sträng som innehåller sökvägen till nyckeln tror jag)

public RegistryKey DesktopKey;
GeneralKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Desktop\\General\\", true);

Sen har han skapat en annan fil, projectinstaller.cs. Den fattar jag inte riktigt, emn här kommer hela koden, du kanske förstår mer än jag:

using System;
using System.Collections;
using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;

namespace  myService{ [RunInstallerAttribute(true)]
 public class ProjectInstaller: Installer{

private void InitializeComponent (){}
	
private ServiceInstaller serviceInstaller;
private ServiceProcessInstaller processInstaller;

public ProjectInstaller(){
processInstaller = new ServiceProcessInstaller();
serviceInstaller = new ServiceInstaller();
	
//Service will run under system account
//processInstaller.RunUnderSystemAccount = true;
			
processInstaller.Account = ServiceAccount.LocalSystem;
processInstaller.Username = "domain/username";

processInstaller.Password  ="lösenord";
			
//Service will have Start Type of Manual
serviceInstaller.StartType = ServiceStartMode.Automatic;
serviceInstaller.ServiceName = "System Editor";
Installers.Add(serviceInstaller);
Installers.Add(processInstaller);
}
}
}

------------------
Jag kan inte komma på någon signatur.

[Redigerat av NETwork den 17 jan 2002]

Medlem sedan jan. 20013 341 inlägg
#12

Spango, jag håller inte riktigt med.
Först och främst så menade jag att dom skulle tagit fram något liknande en applet!

Använder man HTTP får man stå ut med att arbeta med ögonblicksbilder, eftersom det inte är avsett att användas för realtidskommunikation. Skulle MS (eller någon annan) skapa något sätt att göra realtidsuppdateringar på via HTTP (vilket låter smått otroligt att de skulle göra, eftersom det är bra nära omöjligt) så skulle det dessutom innebära att alla webbläsare på hela jorden måste bytas ut. Ett ganska digert arbete. Sen skulle det förstås krävas att det blev en W3C-standard för att få acceptans, och säkerligen en hel del annat arbete

Är det inte det som är meningen med teknik, att utveckla den, ändra standader. Nån måste ju börja. Dom som lyckas med idéer och uppfiningar är dom som vågar göra nått nytt istället för att bara utveckla det som finns(jag vet, min mor är uppfinnare och utvecklare).

Varför inte i nästa version av IE lägga in stöd för nått sånt, och för gamla webbläsare en plugin. Om det är en bra funktion så kommer andra tillverkare hänga på! kolla på Pioneer, var det dom som uppfann CD skivan? Lik förbannat gör dom CD spelare...

Jag tror personligen att realtids uppdatering av information är framtiden, visst du kan göra det med hjälp av ActiveX och appletar, men när det gäller ActiveX kan du göra annat också, som tyvärr kan vara med ont uppsåt! Att istället ta fram en komponent som en applet som kan visa realtids information hade varit ett smart drag av M#%&"+/&t :e

Jag har inte tid att lära mig Java OCH .NET, tror inte så många hinner med det...

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

Medlem sedan dec. 2000399 inlägg
#13

Kolla in den här sidan: http://www.csharphelp.com/archives/archive109.html Där visas hur man skriver en applet i C#. Du kan se resultatet på http://www24.brinkster.com/superlloyd/un.htm

------------------
mvh André

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)