#programowanie #csharp #dotnet #wpf

Przymierzam się do napisania pierwszej aplikacji C# (WPF) połączonej z bazą MS SQL. Jestem na etapie projektowanie softu w głowie i już na tym etapie natknąłem się na pewien problem. W jaki sposób najlepiej zapewnić CIĄGŁĄ aktualność danych w pamięci programu z bazą danych? Tj. jeśli ktoś zaktualizuje/doda/usunie jakiś rekord do/z jakiejś tabeli z innego źródła (chociażby z innej instancji programu), to co zrobić żeby soft odczytując
#naukaprogramowania #csharp
tak z ciekawości, żeby nie zaśmiecać głównego tagu...

parsuję sobie ini(bo soft stary jak świat i o xmlu za bardzo nie słyszeli wtedy) do drzewka, coś tam zmieniam, pozwalam użytkownikowi edytować a potem to zapisuję. i teraz problem:

wpisy mają różną długość. w jednych sekcjach para key-value będzie miała łącznie max 40 znaków, w innych po 120 nawet, a potem po średniku dochodzą ewentualne komentarze. jak ładnie rozwiązać kwestię tego
@ilmash: To może komentarz nie w tej samej linii, a przed daną parą?

[Sekcja]

; Jestę komentarzę
Tere=Fere

; Sprzdam Opla
; Wlazł koteł na płoteł
Foo=Bar

Czytelnie i wygodne w oprogramowaniu :)

P.S. Opcja "kod" na wykopie strasznie obsysa :/
  • Odpowiedz
@meetom: no, w sumie zapytam czy tak może być - pomysł fajny. a jak nie to jak już będę miał całą funkcjonalność to i tak jest pierdoła, więc sobie dopiszę na końcu ;)
  • Odpowiedz
@Html.TextBoxFor(m =>m.protokol, new {placeholder = WebUtility.HtmlDecode(Html.DisplayNameFor(m=>m.protokol).ToString())})
rozwiazalo problem @ihwar i reszta dzięki za checi :)
  • Odpowiedz
#csharp #visualstudio
Dobry wieczór,

mam problem z pewnym projektem, otóż chciałbym wykonać program który posiada cztery okienka. Jedno główne do wprowadzania danych(form1) i trzy pozostałe do wyświetlania ich (form2, form3, form4).
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication666
{

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1Click(object sender, EventArgs e)
{
Form2 f2
sepakasene - #csharp #visualstudio
Dobry wieczór,

mam problem z pewnym projektem,...

źródło: comment_zU00PA9MdXLrmoT9x95BciiNBxzE0Lnz.jpg

Pobierz
@sepakasene:
1. Do tego wystarczy Ci jeden form, nazwij go MonitorLabelForm.
2. Zadeklaruj sobie tablicę, listę lub inną kolekcję formów (ostatecznie 3 pola/property klasy Form, która je i zainicjalizuj ją instancjami.
3. Każde kliknięcie przycisku Monitor (1/2/3), niech odnosi się do odpowiedniego indexu z tej tablicy, i wykonuje na konkretnym obiekcie Show().
4. Label ustaw jako property publiczne (chociaż chyba akurat to zrobiłeś ok).
5. U Ciebie w metodzie ostatniego eventu
  • Odpowiedz
#progamowanie #csharp #mvvm

Pytanko Mirki:

Mam DataGrid załóżmy, że z trzema kolumnami "X", "Y", "Z". "Z" jest ReadOnly i jest funkcją X i Y. X,Y,Z to właściwości klasy SomeClass (która w założeniu jest modelem i nie implementuje INotifyPropertyChanged) trzymanej w ObservableCollection (SomeClassesCollection) w ViewModelu.

Kawałek view:


Jak zrobić, aby po zmianie X lub Y wymusić przeładowanie datagrid, żeby odświeżyła się wartość Z? Bindowanie działa, bo np. po dodaniu nowego elementu do kolekcji
@Hoff: moim zdaniem nie da rady bez implementacji interfejsu INotifyPropertyChanged na modelu. W ten sposób kontrolki są powiadamiane o zachodzących w obiekcie zmianach
  • Odpowiedz
Mirki pomocy!

Mam aplikację, która obsługuje wrzucanie do bazy danych wyników generowanych przez urządzenia. Każde urządzenie odświeża swoje wyniki co określony interwał czasowy. Działa to tak:
1) otwiera połączenie z bazą
2) wrzuca wyniki
3) zamyka połączenie

Każde urządzenie ma utworzoną akcję:

IObservable timer = Observable.Interval(TimeSpan.FromSeconds(double.Parse(ap.Timer)));
Action Akcja = (() => ap.Wykon());
timer.Subscribe(x => { Task task = new Task(Akcja); task.Start(); }, source.Token);

I tu schody się zaczynają:

Jeśli mam dwa urządzenia,
@giluu91: No to może jakiś prosty lock albo klaska Monitor jeżeli bardziej skomplikowane? Tylko wtedy jeden wątek chwilę poczeka na drugi, ale to jak mniemam nie jest jakimś wielkim problemem? Nie znam założeń, ale zakładając, że wrzucanie do bazki nie trwa zbyt długo to lock imho da radę..
  • Odpowiedz
@meetom: Już Ci miałem odpisywać, że używam locka i próbowałem Monitora ale... Przecież obiekt przekazywany do locka tworzyłem wewnątrz klasy aparatu, czyli każdy aparat miał swojego locka. Przerobiłem to tak, że obiekt do locka jest tworzony na zewnątrz i jest jeden i wszystko zaczęło śmigać aż miło. Dzięki cumplu! ;)
  • Odpowiedz
Czy ta darmowa wersja Visual Studio Community 2015 jest dużo gorsza od wersji Professional? Wersję Pro mogę mieć z DreamSpark, darmową wersję to wiadomo. Pytanie pewnie głupie, ale jestem tylko studentem informatyki - nie wymagajcie ode mnie zbyt wiele. :v Chodzi mi tylko o proste wyjaśnienie ważniejszych różnic.
#visualstudio #programowanie #csharp #pytanie
@MathGuy: Wersja Community może być używa komercyjnie do 5 osób. Dzwoniliśmy u nas jakiś czas temu do Microsoft Polska spytać się jak to dokładnie wygląda i sprawa ma się tak że 5 osób może pracować na community, jak do zespołu przychodzi kolejny programista to on musi mieć już licencjowanego VS a tych 5 programistów nadal może używać wersji community.
  • Odpowiedz
@SeQQ: możesz pisać śmiało

VS musi połączyć się w przez sieć z Maciem, na którym masz zainstalowany SDK Xamarina i XCode. W trakcie odpalania w VS projektu na iOS pewnie masz ekran parowania ekranów. Jeżeli występują jakieś problemy np. urządzenia nie chcą się widzieć sprawdź czy masz takie same wersje oraz aktywne licencje na używanie Xamarin iOS (najlepiej z business licencją używać, na trialach są czasem problemy). Jeżeli chcesz robić apke
  • Odpowiedz
#csharp

Mam pytanie. Chce zrobić zmienną boolowską która będzie przechowywała informacje do której miałbyby dostęp wszystkie klasy. Jak to zrobić? Jako że nie ma dziedziczenia wielokrotnego w c# to poczytałem o interfejsach. Ale w nich można robić metody a nie zmienne.
@MlodyInformatyk: A musisz to trzymać na formatce? Nie lepiej gdzieś obok utworzyć klasę statyczną, i w niej pole z rolą?

Przykładowo:

public enum Role
{
User,
Admin
}

public static class Config
{
public static CurrentRole Role { get; set; }
}

I z dowolnego miejsca się odwołujesz:

if(Config.CurrentRole == Role.Admin) { ... }
  • Odpowiedz
#csharp #cpp #programowanie

Jest tutaj ktoś kto mógłby mi wytłumaczyć wszystkie kombinacje dziedziczenia i praktyczne ich zastosowania?
Zacznijmy od tego, że proste dziedziczenie jest bez sensu: kategoria nie powinna mieć swoich instancji.

Wiem, że dziedziczenie nie powstało z myślą o dobrym opisie rzeczywistego świata, ale raczej jako pomoc uporządkowaniem kodu. Generalnie mój cel to po prostu dobre opanowanie tematu dziedziczenia od strony teoretycznej i praktycznej (kiedy dokładnie stosować dany typ dziedziczenia).

Dziedziczenie
Phallusimpudicus - #csharp #cpp #programowanie

Jest tutaj ktoś kto mógłby mi wytłu...

źródło: comment_1AUs6LeeMvJogeA4dlSvCyB8oRkirhyR.jpg

Pobierz
@fenix7557: Tak, dziedziczenie po 1 klasie na raz, ale można stworzyć hierarchię klas. Powiedzmy, z 10 klas abstrakcyjnych połączonych ze sobą liniowo i jedna klasa podstawowa instancjonowalna. I wtedy właśnie ta klasa na samym dole będzie mogła (w przypadku zwykłych metod) lub będzie musiała (w przypadku metod abstrakcyjnych) implementować te metody.

Prosty schemat: http://hastebin.com/olasuhohay.vala

Tak apropo, ze względu na to, że od niedawna bawię się WPF, to interesuje mnie jak wygląda
  • Odpowiedz
Mircy z #csharp #aspnet #mvc, pomóżcie :(
Mam taki fragment kodu:

var manager = new UserManager(new UserStore(new ApplicationDbContext()));
var currentUser = manager.FindByName(user.Key);

manager.FindByName(user.Key) zwraca null. Key wchodzi dobrze z foreacha, nie znajduje usera o takim Name, choć na bank istnieje. Co tu jest nie tak? :/
Mirki jak zlikwidować podświetlanie wciskanych przycisków w aplikacji WPF na ekranach dotykowych (Windows 10)? Przycisk po wciśnięciu jest podświetlony na niebiesko, znika po stuknięciu innego miejsca. Ustawiałem focusable=false i focus na inną kontrolkę po wciśnięciu przycisku, ale nic nie pomaga, testowałem na 2 różnych urządzeniach.
#windows10 #csharp #wpf #programowanie
#programowanie #csharp #bazydanych

Mam pytanie dotyczące przechowywania danych w C#. Jak to mogę zrobić w najprostszy sposób? Macie jakieś dobre technologie do polecenia? Robiłem coś takiego w Javie i używałem bazy danych Oracle do tego tylko że jakbym skorzystał z tego teraz to klient razem z aplikacją musiałby instalować bazę danych osobno. Chyba że jest jakaś możliwość dystrybucji tego z aplikacją? Ewentualnie czy Microsoft ma jakieś wbudowane API do przechowywania danych na
Ale mam kocioł we łbie.
Piszę sobie jakieś pierdółki w #csharp i mam problem przy ciagu Fibonacciego ( ͡° ʖ̯ ͡°)
Jaki typ danych użyć przy zajebiście dużych liczbach? ulong wywala się przy 91. elemencie ciągu Fibonacciego ;__;


#naukaprogramowania
@Yahoo_: @qubeq: Mówią, że programistów informatyków przybywa w zastraszającym tempie (głównie dlatego, że przecież wszyscy super zarabiają) i niedługo nie będzie dla nich pracy. Po Waszych odpowiedziach widzę, że jeszcze długo się nie ma co o pracę martwić.

Nie chce nikogo obrażać. Stwierdzam co zauważam (nie tylko na podstawie Waszych odp).

@Yahoo_: ulong to to samo co Uint64.
@qubeq: Co prawda decimal ma większy zakres, ale nie dużo
  • Odpowiedz