Bir siparişin seçili olup olmadığı nasıl kontrol edilir - sayfa 4

 
Figar0 :

Ve genel olarak demagojiyi yaydı.

bool OrderSelect ( int dizini, int seçimi, int havuzu=MODE_TRADES)
İşlev, onunla daha fazla çalışmak için bir sipariş seçer. İşlev başarıyla tamamlandığında TRUE döndürür. İşlev başarısız olduğunda YANLIŞ döndürür. Hata hakkında bilgi almak için GetLastError() işlevini çağırmanız gerekir.

Bir siparişin seçilip seçilmediğini bilmeniz gereken her şey.

Konunun başında her şeyi açıkladım, gerçekten bu kadar anlaşılmaz mı?

Potansiyel olarak siparişlerle çalışan bazı fonksiyonlarımız var, yani. seçer ve analiz eder. Kodun farklı bölümlerinden çağrılabilir, iş için bazı sıraların önceden seçilmiş olduğu bölümler de dahil. Seçilen sırayı kaydetmez ve bu ayrı fonksiyonda seçimini geri yüklemezseniz, bu danışmanın mantığında hatalara yol açacaktır, çünkü. bu fonksiyondan dönüldüğünde, çağrılmadan önce seçilenden farklı bir sıra seçilecektir. Bu nedenle, bu tür hatalardan kaçınmak için, kendisi emirlerle çalışan her bir yardımcı fonksiyonda, o anda seçilen emri çağırdığı yerden hatırlaması ve tamamlandıktan sonra seçimine geri dönmesi gerekir. Bu görev basit ve hata oluşturmadan nasıl yapılır - bu konunun sorusu budur

// OrderSelect tarafından seçilen sipariş anlamına gelir (iyi veya bir hata)

Neden hata? Sipariş seçilmezse, bu eylem gerekli değildir, ancak özel numaralar olmadan siparişin seçilip seçilmediğini önceden bilmek imkansız görünüyor.

// Peki neden tekrar seçelim???

Tam olarak, bu fonksiyondan kodun çağıran kısmına döndükten sonra, kodun bu kısmında seçilen sıra, bu fonksiyon çağrılmadan önce seçilmiş olarak kalır - böylece halihazırda seçili olan sıra ile yapılan işlemler hatalara yol açmaz.

 
FAQ :

Hayır, gerçekten tankın içinde.
Bunu yapmak için izni var mı? Bu senin tabancan değil! ;)
 
Ant_TL :

Konunun başında her şeyi açıkladım, gerçekten bu kadar anlaşılmaz mı?

Potansiyel olarak siparişlerle çalışan bazı fonksiyonlarımız var, yani. seçer ve analiz eder. Kodun farklı bölümlerinden çağrılabilir, iş için bazı sıraların önceden seçilmiş olduğu bölümler de dahil. Seçilen sırayı kaydetmez ve bu ayrı fonksiyonda seçimini geri yüklemezseniz, bu danışmanın mantığında hatalara yol açacaktır, çünkü. bu fonksiyondan dönüldüğünde, çağrılmadan önce seçilenden farklı bir sıra seçilecektir. Bu nedenle, bu tür hatalardan kaçınmak için, kendisi emirlerle çalışan her bir yardımcı fonksiyonda, o anda seçilen emri çağırdığı yerden hatırlaması ve tamamlandıktan sonra seçimine geri dönmesi gerekir. Bu görev basit ve hata oluşturmadan nasıl yapılır - bu konunun sorusu budur

1. Aramadan önce seçilen siparişin numarasını işleve iletin.

2. Fonksiyon tamamlandıktan sonra aynı sırayı tekrar seçin.

PS Ne almak istediğinizi nasıl bilebilirim? Bir şekilde daha net olmalı :(

 
tara :

1. Aramadan önce seçilen siparişin numarasını fonksiyona iletin.

2. Fonksiyon tamamlandıktan sonra aynı sırayı tekrar seçin.

PS Ne almak istediğinizi nasıl bilebilirim? Bir şekilde daha net olmalı :(

Evet bunu anlıyorum ancak program yürütme mantığında bir şeyi değiştireceğini düşünmeden çağrılabilecek toplam kâr veya açık emir sayısı gibi bilgilendirme fonksiyonları yazmak istiyorum. gayet mantıklı bence

Çağrı işlevinde seçilen sırayı geçmek her zaman önemsiz değildir, çağrıların yuvalanmasının >1 olduğunu hayal edin, bazı küçük bilgi işlevlerinin kullanabilmesi için her işleve bir bilet göndermek mümkün müdür?

OrderSelect ve OrderTicket üzerinde, halihazırda seçili olan siparişle ilgili bilgileri ayrı bir değişkenden kaydeden ve alan bir sarmalayıcı yapmak daha mantıklıdır, ancak bu, bilgilerin tekrarlanmasına neden olur (terminal, siparişin seçili olup olmadığını zaten bilir, ancak rapor edemez). bu bilgiler potansiyel bir hata olmadan). Onlar. ya bilgilerin çoğaltılması ya da işlevlerin aşırı karmaşıklığı (seçilen sıranın en baştan her parametreye geçirilmesi) ya da program yürütme hatalarının zorunlu üretimi ile sonuçlanırız.

 
Ant_TL :

Evet bunu anlıyorum ancak program yürütme mantığında bir şeyi değiştireceğini düşünmeden çağrılabilecek toplam kâr veya açık emir sayısı gibi bilgilendirme fonksiyonları yazmak istiyorum. gayet mantıklı bence

Mantıklı, ancak en azından işlevleri "beyaz" ve "siyah" olarak bölmek gerekiyor. İlk sıralarda seçilen sıra numarası kaydedilir ve son sıralarda ihlal edildikten sonra geri yüklenir.

Görünüşe göre her şey basit.

 
Ant_TL :

Evet bunu anlıyorum ancak program yürütme mantığında bir şeyi değiştireceğini düşünmeden çağrılabilecek toplam kâr veya açık emir sayısı gibi bilgilendirme fonksiyonları yazmak istiyorum. gayet mantıklı bence

Çağrı işlevinde seçilen sırayı geçmek her zaman önemsiz değildir, çağrıların yuvalanmasının >1 olduğunu hayal edin, bazı küçük bilgi işlevlerinin kullanabilmesi için her işleve bir bilet göndermek mümkün müdür?

Kim'in işlev kitaplığına bir göz atın ve her işlevin üzerinde yinelendiğini, bileti seçip kontrol ettiğini ve ardından bilmeniz gerekenleri göreceksiniz. "Mantığınız" programlamanın temel kurallarını öğrenmenize izin vermiyor.
 
borilunad :
Kim'in işlev kitaplığına bir göz atın ve her bir işlev yinelemesinde, seçim ve bilet doğrulamasının gerçekleştirildiğini ve ardından bilmeniz gerekenleri göreceksiniz. "Mantığınız" programlamanın temel kurallarını öğrenmenize izin vermiyor.

Bahçede mürver ve Kiev'de amca.

 
borilunad :
Kim'in işlev kitaplığına bir göz atın ve her bir işlev yinelemesinde, seçim ve bilet kontrolünün gerçekleştirildiğini ve ardından bilmeniz gerekenleri göreceksiniz. "Mantığınız" programlamanın temel kurallarını öğrenmenize izin vermiyor.
Boris, buna gerek yok. Alfabetik kurallardan bahsediyorum.
 
Ant_TL :

Bahçede mürver ve Kiev'de amca.

Aynen öyle! Bu seninle ilgili ve bir de şu var: "rahibin bir köpeği vardı..."
 
tara :
Boris, buna gerek yok. Alfabetik kurallardan bahsediyorum.
Tabii ki, zaten her şeyi biliyorsa, o zaman neden hatalar çıkıyor? Daha da ileri gitmeli ve hatasız kendi dilinizi oluşturmalısınız, o zaman herkes iyi olacak! Ve daha önce neredeydi?